逆向入门方法与工具(至少可以节省你70%的分析时间)

栏目: C · 发布时间: 5年前

内容简介:逆向工程乍看起来似乎很复杂,但是通过一个好的方法和工具包可以让你对其更加了解和使用时更得心应手。方法

逆向入门方法与工具(至少可以节省你70%的分析时间)

逆向工程乍看起来似乎很复杂,但是通过一个好的方法和 工具 包可以让你对其更加了解和使用时更得心应手。

方法

假设你已经下载了一个二进制文件,接着RE需要两种类型的分析,静态和动态。静态分析将帮助你更好的了解二进制文件中的内容,而动态分析则可让你逐步跟踪每个注册表中发生的具体变化以及使用哪些系统调用等。

静态分析

我必须承认,我没有时间评估目前各种不同工具。因为我发现了一种我认为比较好用的工具——Binary Ninja,它只有1.7k大小,且成本较低,只有99美元。

Binary Ninja专门用于静态分析,且提供了一个非常专业的图形用户界面,当你必须处理的信息量巨大时,Binary Ninja会非常有用。

逆向入门方法与工具(至少可以节省你70%的分析时间)

如上图所示,Binary Ninja显示出了可执行文件的整个调用图,简化了了解每个块如何交互在一起的方式。此外,你可以通过右下角的选择菜单轻松切换视图。最后,左侧列举每个调用的函数,只需点击鼠标即可直接访问。

其所配置的upstream模块,还允许Binary Ninja具有以下功能:

1.在代码中放置评论;

2.通过汇编或C代码修补二进制;

3.允许API访问自己的插件并加速分析过程;

4.访问来自GitHub202可用的一堆插件;

注意:演示的Binary Ninja412版本是免费的,应该足够初学者使用。

动态分析

动态分析可以通过gdb,radare2等各种工具完成。从我个人的经验来看,radare2的用户交互不是很好,比如,没有样式表,我无法记住操作捷径,这让我浪费了很多时间!但是,gdb在用户友好性上就做得很好,而且,gdb的用户体验可以通过使用peda447(GDB的Python Exploit Development Assistance for GDB)进行改进,通过colourising和显示反汇编代码,寄存器,内存信息来增强显示gdb调试。

以下是增强型命令行界面:

逆向入门方法与工具(至少可以节省你70%的分析时间)

为了向你展示如何应用和使用这种方法,我选择告诉你如何成功地使用卡内基梅隆二进制炸弹实验室(cmu binary bomb)的 CTF平台

这是第3阶段的入口点:

逆向入门方法与工具(至少可以节省你70%的分析时间)

假设该解决方案是由3部分组成,两个整数和一个字符。

让我们打开0x08048bbf地址看看寄存器的状态。

输入尝试:1 2 3

逆向入门方法与工具(至少可以节省你70%的分析时间)

好的,好像注册表EAX表示传递给sscanf的参数的数量。这证实了我以前的假设,即至少需要三个值才能传递给下一个区块(block)。

以下是下一个区块(block):

逆向入门方法与工具(至少可以节省你70%的分析时间)

1.检查第一个整数是否高于0x7。

2.跳到与我第一个参数对应的情况

3.将BL寄存器设置为0x6b,并将第三个参数比较为0x7b。如果值相等,我们就跳到下一个块。

4.检查第二个参数是否等于先前设置的BL。

因此,我们可以假设密码应该是:

3:代表第三种情况

k:对应于ascii值0x6b

251:对应于十进制值0x7b

逆向入门方法与工具(至少可以节省你70%的分析时间)

让我们试试吧!经过试验,果然证明我的假设是对的!正如你所看到的,这个挑战并不需要太多的动态分析。不过,目前很少有人使用该方法,所以如果利用它进行静态分析,至少可以节省你70%的分析时间。所以,仔细分析每一个代码以达到你的目标!

总结

正如已经证明的那样,每个人都可以使用逆向工程。然而,前提是你要拥有组装,内存管理以及编程方面的基本知识。因为,这会帮助你快速确定你的分析目标。

本文所配置的upstream模块,就是为了帮助32位/ 64位架构的RE Linux二进制文件,为此,我创建了一个 git仓库 ,它包含一个 docker 映像以及分析时所需的工具。


以上所述就是小编给大家介绍的《逆向入门方法与工具(至少可以节省你70%的分析时间)》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

百度SEO一本通

百度SEO一本通

潘坚、李迅 / 电子工业出版社 / 2015-6 / 59.00元

《百度SEO一本通》通过浅显易懂的叙述方式,以及大量的图示,详细介绍了SEO的关键技术要点,对于搜索引擎优化中重要的关键词优化、链接优化,以及百度推广中的推广技巧都进行了详细的介绍。 《百度SEO一本通》共分为11章,首先让大家了解SEO存在的原因,然后对网页、网站、空间和程序与SEO的关系展开了细节上的讨论,最后几章深入介绍了百度推广的相关概念、设置、技巧和实操,让读者可以轻松上手操作,易......一起来看看 《百度SEO一本通》 这本书的介绍吧!

图片转BASE64编码
图片转BASE64编码

在线图片转Base64编码工具

随机密码生成器
随机密码生成器

多种字符组合密码

Markdown 在线编辑器
Markdown 在线编辑器

Markdown 在线编辑器