IDAPython的妙用

来源:互联网 发布:电视直播点播软件下载 编辑:程序博客网 时间:2024/05/19 16:51

看过Python灰帽子的密友都知道IDAPython在逆向的场景中常常能够发挥出巨大的威力,笔者偶然一次在逆向的过程中使用了它,下面就来总结一下使用的方法和一些注意事项:

环境:IDA 6.1 ,android 2.3 AVD。

我这个IDAPython的版本是:

--------------------------------------------------------------------------------------

Python 2.6.6 (r266:84297, Aug 24 2010, 18:46:32) [MSC v.1500 32 bit (Intel)]

IDAPython v1.5.2 final (serial 0) (c) The IDAPython Team idapython@googlegroups.com

--------------------------------------------------------------------------------------

下载这个包

安装方法:

1)解压压缩包

2)将python.plw,python.p64复制到IDA的插件目录plugins下。

3)将python的目录拷贝到IDA的主目录中。

如果安装成功,在启动IDA后,输出面板会有如上的输出。

 安装好了以后,我的只有一个Python command... 命令项,并没有Python file...项

 

应用:

from idaapi import *from idc import *count = 0class DumpHook(DBG_Hooks):    def dbg_bpt (self,tid,ea):        global count        count += 1;        print "[*] Hit: 0x%08x the %d time\n" % (ea, count)        data = "\xBE\x91\x0A\xF3\x9A\x26\xA4\xA9\x92\xC6\xFD\x01\xA1\x43\xED\x19"        dbg_write_memory(GetRegValue("r7"), data)        return 1try:    if debugger:        print("Removing previous hook ...")        debugger.unhook()except:    passAddBpt (0x8050a42e)SetBptAttr(0x8050a42e, BPTATTR_FLAGS, BPT_ENABLED|BPT_TRACE)print "[*] set hook OK...\n"debugger = DumpHook()debugger.hook()


关于里面的函数,可以去查看IDA主目录下python文件夹里的idc.py和idaapi.py,里面有对各个函数的详细说明。

注意:python脚本从python command...里输入,而不是作为一个文件从script file...里输入

0 0
原创粉丝点击