Actionscript 3 在SWF文件中反编译Bin文件
我使用JPEXS Free Flash Decompiler v.10.0.0反编译了swf文件,当我反编译swf文件时,我只看到2个脚本:Actionscript 3 在SWF文件中反编译Bin文件,actionscript-3,flash,decompiling,Actionscript 3,Flash,Decompiling,我使用JPEXS Free Flash Decompiler v.10.0.0反编译了swf文件,当我反编译swf文件时,我只看到2个脚本: 加料机 $gamename-web_秒$aba37a 在binaryData文件夹中,有一个名为: 定义数据(1:gamename-web_sec$aba37a……) 以下是反编译swf的树: gamename.swf 标题 二进制数据 DefineBinaryData(1:gamename websec$aba37a 框架 剧本 加料机 $gam
- 标题
- 二进制数据
- DefineBinaryData(1:gamename websec$aba37a
- 框架
- 剧本
- 加料机
- $gamename-web_秒$aba37a
package
{
import flash.display.Loader;
import flash.display.Sprite;
import flash.system.ApplicationDomain;
import flash.system.LoaderContext;
import flash.utils.ByteArray;
public class AppLoader extends Sprite
{
private var content:Class;
public function AppLoader()
{
content = §gamename-web_sec$aba37a95a98fb59f905d8915dbd77871-2007405621§;
super();
var loader:Loader = new Loader();
addChild(loader);
var ba:ByteArray = new content();
var bamod:ByteArray = new ByteArray();
bamod.writeBytes(ba,1,ba.length - 1);
loader.loadBytes(bamod,new LoaderContext(false,new ApplicationDomain()));
}
}
}
$gamename-web_sec$aba37a…操作脚本:
package
{
import flash.utils.ByteArray;
public class §gamename-web_sec$aba37a95a98fb59f905d8915dbd77871-2007405621§ extends ByteArray
{
public function §chitchatcity-web_sec$aba37a95a98fb59f905d8915dbd77871-2007405621§()
{
super();
}
}
}
我看到它正在加载带有二进制数据的swf游戏。当我尝试导出bin文件并再次尝试使用JPEXS Flash反编译程序加载它时。它显示的是
- 标题
- 形状
- 精灵
- 二进制数据
- 定义数据(51763)
- 定义数据(11730)
- 框架
- 其他
- 错误标签
- 未知(ID=377)
- 未知(ID=909)
- 未知(ID=544)
- 未知(ID=879)
- 错误标签
- 未知(ID=777)
- 剧本
- 框架1
- 作用
- 框架1
你们知道我怎样才能反编译swf文件吗?我有一个所有者的许可,他想让我反编译它,这样我们可以更好地保护游戏。只是猜测一下,在那之前,内部文件被压缩并正确地混淆了。如果我是设计保护的人,我也会确保内部文件会被加密如果在错误的环境中解压,则不会运行。@Organia在swf文件的早期版本中,我可以对其进行反编译,但有些脚本名为$obfs55,$obs??类似于此,但仍然可读,因此我仍然可以编辑游戏。然后这是下一次更新。重命名标识符是一种模糊处理方法,但不是唯一的方法。下一次更新level与ABC字节码混淆,因此它的执行方式与未混淆的字节码相同,但它以普通编译器永远不会产生的方式重新组织。问题是,自动化这种混淆(即使输出随机化)非常容易虽然需要专业人员来解开它,但需要很多时间和工具来处理原始的ABC代码,因为反编译器无法从中得到任何东西(好吧,这就是重点)@Organia你能帮我尝试反编译swf吗?我会给你发送swfNo的链接,太麻烦了。我知道它是如何工作的,因为我在2006年(我想)为AS1/AS2应用程序编写了一个模糊器。正如我上面所说的,保护代码需要一眨眼,反向工程需要几个小时(甚至几天)(您可以尝试免费演示模式,并亲自查看)。一旦SWF代码正确地进行了模糊处理,编写具有相同功能的应用程序比反编译保护程序更快。很酷,对吧?只是猜测,内部文件在此之前已被压缩并正确地进行了模糊处理。如果我是设计保护的人,我也会确保内部文件在以错误的方式解包时不会运行nEnvironment.@Organi在swf文件的前一版本中,我能够对其进行反编译,但有些脚本名为$obfs55、$obs??类似于此,但仍然可读,因此我仍然能够编辑游戏。然后这是下一次更新。重命名标识符是一种模糊处理方法,但不是唯一的方法。下一级是处理ABC字节码因此,它的执行方式与未模糊处理的相同,但以普通编译器永远不会产生的方式重新组织。问题是,自动化这种模糊处理(即使输出随机化)非常容易虽然需要专业人员来解开它,但需要很多时间和工具来处理原始的ABC代码,因为反编译器无法从中得到任何东西(好吧,这就是重点)@Organia你能帮我尝试反编译swf吗?我会给你发送swfNo的链接,太麻烦了。我知道它是如何工作的,因为我在2006年(我想)为AS1/AS2应用程序编写了一个模糊器。正如我上面所说的,保护代码需要一眨眼,反向工程需要几个小时(甚至几天)(你可以尝试免费演示模式,并亲自查看)。一旦SWF代码被正确地混淆,编写具有相同功能的应用程序要比反编译保护更快。酷,对吗?
Jump loc0005
loc0005: