首页
社区
课程
招聘
未解决 [悬赏][求助]Hook breakpoint in ida7.0 failed 2.00雪花
发表于: 2017-12-19 10:16 2915

未解决 [悬赏][求助]Hook breakpoint in ida7.0 failed 2.00雪花

2017-12-19 10:16
2915
参照同学们的demo写的一个ida script,在ida7.0中运行之后,Hook显示True,脚本也跑起来了,但是进步到dbg_bpt函数里面,对idaapi不是很了解,求大神解惑。
from idaapi import *

chunks = {}

class DbgHook(DBG_Hooks):
    def dbg_bpt(self, tid, ea):
        global chunks
        chunks[GetRegValue("eax")] = dbg_read_memory(GetRegValue("ebx"), 20)
        continue_process()
        return 0

try:
    if debugger:
        debugger.unhook()
except Exception as e:
    pass


AddBpt(0x403E65)
debugger = DBG_Hooks()
debugger.hook()
request_start_process("C:\\Users\\win7\\Desktop\\codemap.exe", "", "")
run_requests()
stackoverflow上提问了,没有回答。


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 293
活跃值: (287)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
2
IDA目录下python里面有源代码呀  --->    idaapi.py
这里也有  https://github.com/idapython/src/   
文档  https://www.hex-rays.com/products/ida/support/idapython_docs/  ,左下角那个窗口所有函数都有,ctrl+F  搜下

比如:
dbg_read_memory(py_ea, py_sz)

 
Reads from the debugee's memory at the specified ea

Returns: PyObject *
The read buffer (as a string)
Or None on failure


2017-12-19 18:24
0
雪    币: 1202
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我并不是dbg_read_memory出问题了,是连dgb_bpt这个函数都进不去,就是说压根没有hook到断点,这是exe,我想在0x403E65处下断,读eax,ebx的值组成一个字典,之后按照eax大小排序。所以这样子写这个脚本,immDbg里我已经实现了,在ida中这个脚本缺hook不到断点。
2017-12-20 10:27
0
雪    币: 888
活跃值: (2370)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
4
有没有进去,去函数里打印一句话看看就知道了
from  idaapi  import  *

chunks  =  {}

class  DbgHook(DBG_Hooks):
        def  dbg_bpt(self,  tid,  ea):
                global  chunks
                print  ("[*]  DbgHook  OK  ......\n")
                chunks[0]  =  dbg_read_memory(GetRegValue("eip"),  10)
                #chunks[GetRegValue("eax")]  =  dbg_read_memory(GetRegValue("ebx"),  20)
                print  (chunks)
                #continue_process()
                return  0
 
try:
        if  debugger:
                debugger.unhook()
except  Exception  as  e:
        pass

       
AddBpt(0x00403360)
SetBptAttr(0x00403360,  BPTATTR_FLAGS,  BPT_ENABLED|BPT_BRK)
print  ("[*]  set  hook  OK  ......\n")
debugger  =  DbgHook()
debugger.hook()
#request_start_process("C:\\Users\\administrator\\Desktop\\codemap.exe",  "",  "")
#run_requests()
2018-1-25 10:42
0
游客
登录 | 注册 方可回帖
返回
//