IDApython常见接口
IDA支持两种脚本语言,分别为IDC和IDApython。
IDC和C语言感觉差别较大,比如i++必须写成i = i + 1,感觉十分麻烦,同时还保留了花括号,有点离谱,解释语言还有一堆格式,又改了一些东西,太难用了。于是我尝试学习IDApython。
IDApyhon的好处在于它的语法和python一模一样,而通过import idc.idc
就可以使用所有IDC可以使用的IDA的接口,其具体的接口定义在IDA主目录\python\3
目录中,将其添加到工程目录,然后就可以引用其中的内容了(只看了8.3版本的)
其中的所有代码均需要在ida命令行或者脚本界面执行
参考:
IDA/IDAPython手册中文版.pdf at master · yanxxd/IDA (github.com)
对地址的读写接口
1 | get_wide_byte(addr) |
ea是IDA中的地址
其它的不同粒度的操作参考上面的pdf
调试时获取寄存器的值
1 | import idc |
重写dbg_bpt方法,使得执行到对应地址的时候打印出所有值
评论