我看到有很多程序可以定位在内存中运行的 swf,捕获它并返回源代码。通常也会生成 AS 字节码。
我想做的恰恰相反,我试图将一段 Action Script 字节码与来自 Shockwave Flash 程序的一段反汇编相匹配。
基本上匹配p-code反汇编。
有没有什么好的技术或软件可以做到这一点。
我看到有很多程序可以定位在内存中运行的 swf,捕获它并返回源代码。通常也会生成 AS 字节码。
我想做的恰恰相反,我试图将一段 Action Script 字节码与来自 Shockwave Flash 程序的一段反汇编相匹配。
基本上匹配p-code反汇编。
有没有什么好的技术或软件可以做到这一点。
JPEXS Free Flash Decompiler似乎具有此功能。
来自http://www.free-decompiler.com/flash/features.html --
- 左侧显示 ActionScript 代码,右侧显示 p 代码
- 单击 AS 项目突出显示 p 代码中的位置,反之亦然

这就是它在 .NET 中的工作方式。编译该方法时,会生成一个表,其中包含将 MSIL 代码与其对应的机器代码匹配的信息(包括偏移量、长度)。然而,并非所有 MSIL 指令都有有意义的机器代码对应物,而是该表包含将 MSIL 指令(块)序列与机器对应物匹配的信息。
您可以通过 Debugging 或 Profiler 界面访问该表,或者像我一样,您可以进行逆向工程。
我不确定 Flash 中是否存在这样的表,如果存在,有没有办法通过记录的函数调用来获取它。但这应该是一种需要考虑的技术。