sothink swf decompiler反编译的常见错误
1.? 当bytecode 出现new activation或者 dup的时候,会出出现下面语句. ?1.1??????? loc_1; ???????????? //通常是loc_1=this或者loc_1=0,local=x 1.2??????? loc_1 = new ObjX(); ???????????? new ObjectX().x = 0; ???????????? //通常是dup之后发生. ? ? 2. 当代码使用xml的查找功能时候,返编译出来的基本无效. ??????? xml.@(id=1); 反编译出来的代码变成一个错误的循环. 3. 当代码使用alchemy库的部分,大量初始全局变量没有正确反编译,应该是对script_info的相关init method没有做好工作. ????????? ?本身alchemy的代码是x86 asm的as vm实现,正确也没有什么用.? 写了个修改工具,直接抠出相关的bytecode做成swc. ? 4. 复杂的闭包函数会导致大量的dup,new activation等...语法就开始错乱了. ?????? 情形类似1. 5.? 无法正常反编译 IProxy继承出来的类. 6. 对于 xml,dictionary 等,使用for each,for in 语法混乱,令到代码看起来没有错,但无法正常工作. ?7. meta-data丢失 ? 将现有swf代码diy成swc感觉比较有趣, 比较pe容易多了。 下次找时间发表一下原理. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |