IDAPython的妙用

34 篇文章 3 订阅
17 篇文章 0 订阅

看过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 = 0

class 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 1

try:
    if debugger:
        print("Removing previous hook ...")
        debugger.unhook()
except:
    pass

AddBpt (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...里输入

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值