逆向工程最基本的方法是静态分析,而IDA Pro,也就是左图的女人将是我们逆向学习过程中最常打交道的人。
IDA Pro分32bit与64bit,常用版本为7.0,我现在用的是体验版(Mac上),Win上则是使用pojie版,各位在各大破解论坛自行寻找。点入IDA Pro,界面简洁,摁New进入即可。对于文件的格式,可以在OllyDbg上查看(包括壳的有无)。
IDA的导航栏显示了程序的不同类型数据的分布(也就是上一节讲到的寻找label)。
下面是IDA使用时候的快捷键:这些快捷键在鼠标摁在对应行时才能启动
1、U(Undefine)键,取消此处已有的数据类型定义;
2、D(Data)键,让某一个位置变为数据,若这个操作会影响已有数据类型的位置,则会引发确认提示。
3、C(Code)让某个位置变为指令;
4、A(ASCII)键,会以该位置为起点生成一个结尾为\0的字符串类型。
IDAPython
IDAPython是IDA内自建的一个Python环境,可以通过接口进行数据库的各种操作。摁着Alt(option)+F7可以执行Python脚本文件,可以临时执行Python语句
IDA其它功能
IDA的菜单栏“View->Open subviews”可以看到很多不同类型的窗口,可以监测不同类型的数据,例如Strings等等,当然,Strings窗口作为极度常用的窗口(直接搜索flag来定位等等),可以通过Shift+F12来呼出。