设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 8449|回复: 18

我们来讨论一下实现易语言反编译器的难度

[复制链接]

1

主题

49

回帖

121

积分

注册会员

积分
121
发表于 2024-4-20 10:03:00 | 显示全部楼层 |阅读模式
这个问题的本质就是在完全没有任何编译/反编译理论知识条件下,如何用土方法凑出一个反编译器。
众所周知,易语言的编译器没有任何编译优化,难度应该为新手模式。
1.库函数识别
现在假设我们不知道有FLIRT签名这种东西……当然这种东西知不知道无所谓,基本上都每个人都会有这方面的经验,比如我以前做控制流平坦化的时候,也自己画出了一个传统的基本块节点分割算法。
易语言的SDK里面应该提供了相应的支持库接口。我们可不可以解析出易语言的支持库?提取出相应库函数的一段特征码,或者说提取一段指令序列,然后在目标程序里面做匹配?当然这个提取过程是非人工的。
2.控制流的还原
易语言编译器完全没有任何优化,我们应该可以直接使用匹配规则来还原控制流。
比如 if (条件1 || 条件2)
手机画图,实在是没有什么好工具,见谅……
见图1。
未完待续。
另外此贴本就是无聊时的用来消遣的游戏文章,各位有什么脑洞,也可跟帖吐槽。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

0

主题

19

回帖

39

积分

新手上路

积分
39
发表于 2024-4-20 12:14:27 | 显示全部楼层
很需要耐心。我有1个模型。当初准备这么干的。后来不了了之。
易语言支持库调用,非直译成机器码的语句,都用1个共同特征。
可以知道使用了什么支持库、什么命令。
当然,前提是非静态编译。静态编译后,虽然同样可以实现,但是难度上升N个级别。
易格式体很多年前就不是秘密了。

0

主题

53

回帖

107

积分

注册会员

积分
107
发表于 2024-4-27 22:44:52 | 显示全部楼层
非常感谢你的观点,让我受益良多!

5

主题

57

回帖

226

积分

中级会员

积分
226
发表于 2024-5-8 04:17:08 | 显示全部楼层
这个话题很有趣,我想多了解一些

1

主题

58

回帖

135

积分

注册会员

积分
135
发表于 2024-5-20 09:48:59 | 显示全部楼层
这个话题很有趣,我想多了解一些

1

主题

55

回帖

133

积分

注册会员

积分
133
发表于 2024-6-15 15:45:26 | 显示全部楼层
同意!

1

主题

37

回帖

92

积分

注册会员

积分
92
发表于 2024-6-21 12:34:53 | 显示全部楼层
谢谢你分享这个信息

1

主题

56

回帖

130

积分

注册会员

积分
130
发表于 2024-6-26 17:18:42 | 显示全部楼层
我们一起努力,共同解决问题吧。

6

主题

7

回帖

96

积分

注册会员

积分
96

热心会员付费会员

发表于 2024-8-2 17:08:14 | 显示全部楼层
感谢分享,受益匪浅!

3

主题

54

回帖

176

积分

注册会员

积分
176
发表于 2024-8-4 12:44:16 | 显示全部楼层
嘎嘎嘎嘎嘎嘎嘎
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 05:27 , Processed in 0.080296 second(s), 28 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表