加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

sothink swf decompiler反编译的常见错误

发布时间:2020-12-15 06:34:56 所属栏目:百科 来源:网络整理
导读: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之后发生. ? ?

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容易多了。 下次找时间发表一下原理.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读