IDA pro使用笔记

IDA pro使用笔记

学习资料:IDA Pro 权威指南[美]Chris Eagle

1.什么情况下需要使用反汇编?

1)分析恶意软件
2)分析闭源软件的漏洞
3)分析闭源软件的互操作性
4)分析编译器生成的代码,以验证编译器的性能和准确性
5)在调试时显示程序指令

2.

动态分析:是指在严格控制的环境中执行恶意软件,并使用系统检测实用工具记录其所有行为。
静态分析:试图通过代码来理解程序的行为。(查看对恶意软件进行反汇编之后得到的代码清单)。

3.基本的反汇编算法:

1)确定进行反汇编的代码区域;
2)知道指令的起始地址,读取该地址(或文件偏移量)所包含的值,并执行一次表查找,将二进制操作码的值余它的汇编语言助记符对应起来;
3)获取指令并解码任何所需的操作数后,需要对它的汇编语言等价形式格式话,并将其在反汇编代码中输出。
4)输出一条指令后,继续反汇编下一条指令,并重复上述过程,直到反汇编完文件中的所有指令。

4.

汇编语言源代码主要采用两种语法:AT&T语法和Intel语法。
两种最主要的反汇编算法:线性扫描和递归下降。

5.线性扫描反汇编的优缺点:

优点:能够完全覆盖程序的所有代码段。
缺点:没有考虑到代码中可能混有数据。
GNU调试器(gdb),微软公

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值