学习 IDA 使用

来源:互联网 发布:发起人肉骨茶 知乎 编辑:程序博客网 时间:2024/05/18 13:25

1.安装 IDA Pro

百科:

交互式反汇编器专业版(Interactive Disassembler Professional),人们常称其为IDA Pro,或简称为IDA。是目前最棒的一个静态反编译软件,为众多0day世界的成员和ShellCode安全分析人士不可缺少的利器!IDA Pro是一款交互式的,可编程的,可扩展的,多处理器的,交叉Windows或LinuxWinCEMacOS平台主机来分析程序, 被公认为最好的花钱可以买到的逆向工程利器。IDA Pro已经成为事实上的分析敌意代码的标准并让其自身迅速成为攻击研究领域的重要工具。它支持数十种CPU指令集其中包括Intel x86,x64,MIPS,PowerPC,ARM,Z80,68000,c8051等等。


推测,其核心功能就是个 Disassembler,与我们使用 GDB中看反汇编代码,使用 object-dump等类似。其强大的地方应该在于 Interactive,给工程师提供了各种强大的功能,比如图形化的界面交互。


ubuntu下的安装教程,请访问:http://www.cnblogs.com/ryuasuka/p/5493371.html

其他平台的安装,请自行查找。


2.准备可执行程序

由于是随便找了个安装教程,上面的安装教程是 32bit的,而我的机器是 64 bit,gcc 默认编译是 64 bit 的可执行程序,所以使用 IDA打开的时候提示:

“Please use IDA Pro 64-bit to load 64-bit files”,为了方便,就先编译 32bit 的程序进行探索。

Hello.c:

#include <stdio.h>                                                                                                                                                                      int main() {    int a = 2;    int b = 3;    int c = a + b;    printf("func main return: %d\n\n", c);    return c;}

编译执行:

hl@1:~/test$ gcc Hello.c -o Hello -m32hl@1:~/test$ file HelloHello: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.32, BuildID[sha1]=1c42393e97b84a6672ac95c4f3710b19237b3eec, not strippedhl@1:~/test$ ./Hello func main return: 5

至此,我们已经编译生成了一个 32bit的 可执行程序 Hello,接下来就使用 IDA pro 打开 Hello。


3.IDA基础功能介绍

待续

原创粉丝点击