IDAPython基础教程3

本文介绍如何使用IDAPython进行逆向工程,重点讲解了操作数类型的识别与利用,以及如何通过脚本自动识别和修改偏移量,提高逆向分析效率。

给出的文件名为rabbithole
在这里插入图片描述
首先使用file命令查看一下
在这里插入图片描述
可以看到是64位的可执行文件
接下来我们切换到win,使用IDApro,以此文件为样例,学习IDAPython的用法。
操作数在逆向分析中经常被使用,所以了解所有的操作数对逆向分析非常有帮助。我们可以使用idc.GetOpTye(ea,n)来获取操作数类型,ea是一个地址,n是一个索引,从0开始。操作数一共有八种不同的类型。
O_void:如果指令没有任何操作数,则返回0
在这里插入图片描述
O_reg:如果操作数是寄存器,则返回这种类型,值为1
在这里插入图片描述
O_mem:如果操作数是直接寻址的内存,那么返回该类型,值为2,这种类型对寻找DATA非常有帮助
在这里插入图片描述
O_phrase:如果操作数是利用基址寄存器和变址寄存器的寻址操作的话,返回该类型,值为3

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值