2017-06-19 13 views
2

我写了一个脚本来显示第二个参数NtQueryInformationProcess。但是,我总是收到错误的数据,好像内存不新鲜,我得到的是旧数据。这里是我的代码:IDAPYTHON从内存中获取了错误的数据

from idaapi import * 
NtQueryInformationProcess=0x7798E740 
class HookNQIP(DBG_Hooks): 
    def dbg_bpt(self,tid,ea): 
     if ea==NtQueryInformationProcess: 
      print 'ProcessInformationClass:',hex(Dword(GetRegValue('ESP')+8)) 
AddBpt(NtQueryInformationProcess) 
func=HookNQIP() 
func.hook() 

IDA 6.9 Win10-64,THX

回答

2

这是我的错,问这个问题,而这里是一个答案: IDA Python - Why My code return incorrect ESP Value?

因此,解决办法是添加代码RefreshDebuggerMemory()新鲜内存

事实上,我在idapython的文档中搜索词'fresh',但页面上有太多东西,所以我什么都没有,因为在所有的东西被加载之前我关闭了那个页面,这确实是一个错误。

相关问题