flash - ActionScript DoABC 标签中的奇怪方法

标签 flash actionscript-3 bytecode

在测试我自己的 DoABC 标签解析器(Actionscript 字节码)实现时,我遇到了一个 swf 文件,其中有一些奇怪的东西。有一种使用字节码的方法几乎没有任何意义(即使是未定义的操作码!)。

我发现了更多具有这种方法的 swf 文件。奇怪的是,这个方法似乎总是具有相同的长度,并且总是最后一个定义的,但字节码因文件而异。然而,swf 文件似乎不受此方法的任何影响,因为它工作正常。我想也许这个方法没有被调用,但目前我无法验证。

有人知道这个方法的目的是什么吗? 作为引用,这里有一个这样的文件:http://swf.tubechop.com/tubechop.swf

最佳答案

这个 swf 有一些非常奇怪的东西,我很确定它被混淆了。 例如,这出现在每个方法的开头:

#1    pushbyte  byteValue: 37
#2    pushbyte  byteValue: 34
#3    ifne  reference: #6

反编译成

if(37 != 34)

至于你找到的方法,看起来完全是胡言乱语。没有对它的引用,因此验证者永远不会查看代码。绝对是阻止反编译的好技术。

我用我自己的应用程序检查了它:http://swfwire.com/inspector

关于flash - ActionScript DoABC 标签中的奇怪方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5078741/

相关文章:

Flash 元素上的 CSS 自定义光标?

actionscript-3 - 有条件地改变 "for loop"的方向?

apache-flex - 如何在炼金术中将 ByteArray 传递给 C 代码?

java - 在 Java 类文件的字节码版本之间切换

python - 在 Python 中构建一个位串

actionscript-3 - Windows 上有 Actionscript 3 的编译器吗?

actionscript-3 - 消除AS3中产生的声音中不必要的咔嗒声

actionscript-3 - ActionScript 3 : translating coordinates from object's 3D space to another's?

java - 我可以使用 BCEL 将注释添加到我的 java 类中吗?

c# - 将代码从 Flash 移植到 C# 实用吗?