在反编译 *.swf 文件中添加新功能

Posted

技术标签:

【中文标题】在反编译 *.swf 文件中添加新功能【英文标题】:Add new function in decompiling *.swf file 【发布时间】:2017-06-29 23:20:30 【问题描述】:

我使用 JPEXS Free Flash Decompiler 10.0.0 反编译了 *.swf 文件

添加新功能,将字符串保存到文本文件

代码:

package 

   ...
   import flash.filesystem.*;       //  my code

   public class NewSocket extends SecureSocket
   

      ....

      public function send(param1:String) : void
      
       //  my code
         var file : File = File.desktopDirector.resolvePath("your_file_name.txt");
         var fs : FileStream = new FileStream();
           fs.open(file, FileMode.WRITE);
           fs.writeUTFBytes(param1);
           fs.close();
       //  my code

         ...
           
      ...      
   

我收到消息“不是类型字符串 №..”

这个字符串

var 文件 : File = File.desktopDirector.resolvePath("y our_file_name.txt");

签入 Flash CS6

导入 flash.filesystem;

我没有这个库

adobe AIR 已安装

我该如何解决这个问题

谢谢!

【问题讨论】:

【参考方案1】:

Flash CS6 > 菜单文件 > 发布设置。

右上角有一个目标下拉列表。您应该选择一个带有 AIR int 的选项,否则 AIR 类将不可用并且 Flash 不会编译使用 AIR 类的代码。

然后,你要导入类,而不是包:

// Import one class.
import flash.filesystem.File;

// Import all the package classes.
import flash.filesystem.*;

【讨论】:

要在 JPEXS Free Flash Decompiler 中使用 flash.Filesystem.FileStrem,您必须使用大写字母。谢谢!

以上是关于在反编译 *.swf 文件中添加新功能的主要内容,如果未能解决你的问题,请参考以下文章

使用 Jetbrains IDES 在反编译的 jar 文件中查找文本

Dotpeek 在反编译代码时遇到问题?

如何防止SWF文件被反编译

你如何反编译一个swf文件[关闭]

swf文件的反编译入门

如何处理在反编译时,原包验证包名问题