菜鸡学逆向——IDA Python

生活总喜欢在你最得意的时候给你当头一棒,你还不得不表示感谢。
学了一个多月逆向,打开教程:“我可以!”,关掉教程:“诶诶诶??什么来着?”

IDA Python

学逆向必不可少的要使用脚本,比来比去还是觉得IDAPython要比IDC用着习惯一点,东拼西凑弄来了大体用法,权当自己总结下来好查资料,如果能帮到正在读文章的你就更好了。

#十六进制获取当前位置的地址
hex(here()) #或者hex(idc.ScreenEA()),二者相同
#获取地址的最大值和最小值
hex(MaxEA())
hex(MinEA())
#获取段的名称
idc.SegName([address]) #例如idc.SegName(here())
#获得反汇编语句
idc.GetDisasm([address])
#获取指定地址的段的起始地址
idc.SegStart([address])
#获取段的一个可迭代数组,每个元素是段的起始地址
idautils.Segments()
#获取地址所在段的起始和终止地址
idc.SegStart([address])
idc.SegEnd([address])
#获取一个函数迭代器,元素为IDA已经解析的函数的起始地址
idautils.Functions()
#获取地址对应的内容
idc.Byte([address])
dc.Word([address])
idc.Dword([address])
idc.Qword([address])
idc.GetFloat([address])
idc.GetDouble([address])
#如果上面觉得麻烦的话可以用下面这个函数自定义读取长度
#获取address的length Byte的内容
get_byte([address],length)
#patch
idc.PatchByte([address], value)   
idc.PatchWord([address], value)
idc.PatchDword([address], value)

能写能读,应该可以处理新手逆向的多数问题了,后续用到的再继续补充
参考资料:https://www.cnblogs.com/whitehawk/p/10803489.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值