- A+

在开始文章之前呢,得先声明一下,这个文章是一个系列的,是从零基础开始介绍的,所以刚开始肯定是非常的基础,建议有过一些逆向经验的师傅们呢,可以跳过前面部分。为什么我会写这样一个系列的文章呢?这个系列的文章是我在学习了一些国外大佬的文章之后产生的想法。
一、是把国外的一些好的文章结合自己的理解和实际操作分享给大家
二、是分享一些我个人学习逆向和打比赛的经验吧
三、是想在这个暑假做一些有意义的事情,因为一些原因没去公司实习。
废话不多说,进入正题。
这个系列呢,是以Windows为主,而且主要的操作的平台是在win64上进行的。
为什么要学IDA呢?
相信大家对Windows下的OllyDBG已经不陌生了吧,功能本身就十分强大,再加之国内国外大佬对其修改和完善,酷炫的界面和牛逼的插件把它打造成了屠龙刀。但是它还是有很多局限性的。就其所支持的平台而言,它仅仅是一个Windows下的32位调试器。但是IDA就不一样了,多平台多架构的支持,它可以运行在 Windows, Linux or Mac OS X,而且支持32位或64位下的静态分析和动态调试,甚至可以远程调试。IDA可支持的远程调试器列表如下:

可支持的处理器列表如下:

既然IDA这么强大,为什么不好好学习一波呢?
文章会涉及到:用IDA进行静态分析和动态调试、破解、漏洞利用、脱壳、以及IDAPython、IDC脚本相关
了解IDA基本界面
跟大家学习OD的时候一样,要先基本了解下IDA的基本界面。
有一件事情非常重要:首先你得要有IDA! 你得要有IDA! 你得要有IDA! 重要的事情说三遍!虽然IDA是商用的软件,但是网络上有泄露出来的可用版本,最新的是IDA7.0 没有的话可以去吾爱或者看雪论坛下载。
我个人使用的是IDA7.0
IDA怎么安装的我就不多说了。
PS:安装IDA的时候会安装对应的IDAPython,当然你也可以自己装python但是请注意一定要安装IDA所对应版本的。不然以后想要安装一些扩展库的时候,会折腾死你的

装好了IDA之后,拖一个Crackme,尝尝鲜。
- 试运行,看任务管理器,可以得到位数:
- 通过十六进制编辑器看PE标识后的字符:
32位程序:
64位程序:
这个小技巧其实是PE结构的东西。 - 直接使用IDA进行判断:
因为ida有自动识别可执行文件平台和位数的模块。后面再讲。
事先知道程序的位数的话,选择对应的IDA版本,然后才可以反编译,可以在一定程度上减轻我们的工作量
由于这个CrackMe是32的所以选择32位版本的进行加载。

打开之后回来到这样的欢迎界面:

你可以new后选择文件,也可以go后直接把要逆向的文件拖到窗口里
然后ida自动调用对应的分析模块进行分析显示出结果:

386就代表的是32位,x64就代表的是64位,可以通过这样一种方式去判断自己的位数是否设置正确。
然后一路默认ok就行。
加载后,会显示这样的界面:

如果想转换到文本模式可以按空格
还可以在 OPTIONS – DEBUGGING OPTIONS -LINE PREFIXES中把每个指令的地址给加载上去:


加载完程序之后默认打开的是反汇编的界面,IDA加载器只是分析了可执行程序之后,生成了idb的数据库文件而已
如果要调试的话,必须得指定好对应的调试器,然后运行在调试模式下,这个后面的文章会介绍的。
IDA有十分多的窗口和选项,你比如说:VIEW-OPEN SUBVIEW 这个东西可以控制我们想要显示那些窗口。
在一开始使用IDA的时候,我们可能不太适应在打开了graph模式下显示地址后,有一部分内容的地址是一样的:

在IDA当中,你甚至可以个性化你自己的加载器或者调试器的界面。
比如说,你在设定好了直接的一些个性界面之后,就可以通过:
WINDOWS-SAVE DESKTOP 选项将它保存并设置为默认的选项。

在IDA当中也有很多的各种列表和窗口,比如函数、字符串、结构体等等

在VIEW- OPEN SUBVIEW-STRINGS的窗口中我们可以看到这个程序使用的所有字符串,相当于OD的字符串参考



在OPEN—SUBVIEW中我们可以打开导入表,来查看这个可执行文件导入的函数:

左下角还有一个Graph view的窗口这个窗口相当于一个图形界面的文件浏览器,只不过是用于IDA Graph的。通过它我们可以控制graph模式窗口显示的位置,在分析大程序流的程序时这个窗口也十分的有用。


因为他下面的反汇编界面中,不同的颜色,也代表着不同的含义,绿色代表:.data section

粉色的是:External Symbol idata section
蓝色的是:code section
本系列的第一篇就这样吧,后续的会逐步讲解更多的东西
参考:《IDA权威指南》
CrackMe:下载链接
本文来源于360安全客,原文地址:https://www.anquanke.com/post/id/152610
2019 年 6 月 18 日 下午 4:33 沙发
棒