swf混淆研究到…
swf的abc结构还算比较容易理解。由大到小,就是scripe,class,instance,然后就是方法及变量了。个人理解是一个类,编译后在abc中体现就是一个class和一个instance。而一个as文件就是一个scripte。有什么区别呢?如果一个as文件中写了两个class,这时候就可以看出区别了。这个as文件会对应两个class和两个instance,而只对应一个scripte。
script有初始化方法,在该方法内,会初始化存在于该script中所有的类。这个方法只执行一次。于是可以想到,可是使用prototype来注入方法。在所有类初始化后,将类对应的instance方法注入到该类的prototype中去;然后删除instance的所有方法。这样的话,效果是一样,但是代码就隐藏起来了(听说asv目前的版本可以看到script中的代码了)。
阅读全文——共3597字