吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 4288|回复: 9
收起左侧

[其他] Rainbow逆向工程学习记录第一辑-反编译形态初认识-分支结构

[复制链接]
枕梦夜谈 发表于 2021-5-12 15:42
本帖最后由 枕梦夜谈 于 2021-5-15 09:30 编辑

最近开始整理之前做逆向工程时的学习记录。
首先是反编译形态初认识-分支结构。
If结构:
源代码

源代码

源代码

反编译形态:

反编译形态

反编译形态

伪代码:

伪代码

伪代码

If-else双路结构:

结构

结构

源代码:

源代码

源代码

反编译形态:

反编译形态

反编译形态

伪代码:

伪代码

伪代码

If-else多路结构:
源代码:
2-1.png
反编译形态:
2-2.png
伪代码:
2-3.png
上图可以看到在条件判断语句中,汇编代码通过cmptest等比较语句进行条件的判断,然后通过jmpjlejns等跳转语句进行流程跳转。
图中伪代码部分可以看出,除变量名称外,伪代码和源代码竟然非常接近甚至一模一样。
If-else多路结构中伪代码结构并非和源代码一样,而是嵌套形式的双路结构,这是因为程序在编译后是不可逆的,并不能恢复成初始状态。
switch结构(swich.cpp):
源代码:
3-1.png
反编译形态:
3-2.png
伪代码:
3-3.png
从图中可以看出switch在底层实现上是与ifelse语句相同的。

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

Hmily 发表于 2021-5-13 11:31
看下这个学习下怎么贴图:https://www.52pojie.cn/misc.php? ... 29&messageid=36
 楼主| 枕梦夜谈 发表于 2021-5-15 09:23
Hmily 发表于 2021-5-13 11:31
看下这个学习下怎么贴图:https://www.52pojie.cn/misc.php?mod=faq&action=faq&id=29&messageid=36

好嘞!谢谢H大指点!

点评

然后把这个帖子编辑下吧,不要看起来太别扭了。  详情 回复 发表于 2021-5-15 09:28
Hmily 发表于 2021-5-15 09:28
枕梦夜谈 发表于 2021-5-15 09:23
好嘞!谢谢H大指点!

然后把这个帖子编辑下吧,不要看起来太别扭了。
 楼主| 枕梦夜谈 发表于 2021-5-15 09:31
Hmily 发表于 2021-5-15 09:28
然后把这个帖子编辑下吧,不要看起来太别扭了。

编辑好了!我就是那天发帖的时候提交,完了以后,看到待审核,又改不了格式了,就很难受

点评

ok,正常了。 抱歉,从安全考虑,新人发帖都需要审核,多发一些就不需要了。  详情 回复 发表于 2021-5-15 09:37
Hmily 发表于 2021-5-15 09:37
枕梦夜谈 发表于 2021-5-15 09:31
编辑好了!我就是那天发帖的时候提交,完了以后,看到待审核,又改不了格式了,就很难受

ok,正常了。

抱歉,从安全考虑,新人发帖都需要审核,多发一些就不需要了。
 楼主| 枕梦夜谈 发表于 2021-5-15 09:40
Hmily 发表于 2021-5-15 09:37
ok,正常了。

抱歉,从安全考虑,新人发帖都需要审核,多发一些就不需要了。

嗯嗯,审核会好一点,免得出问题影响论坛
kyohot 发表于 2021-5-23 12:17
鼓励转贴优秀软件安全工具和文档!
MizurenNanako 发表于 2021-11-16 18:10
正在学习OD,希望能早日入门。
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-21 16:45

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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