reverse-engineering - IDAPYTHON 从内存中获取错误数据

标签 reverse-engineering disassembly ida

我写了一个脚本来显示NtQueryInformationProcess的第二个参数。但是,我总是得到错误的数据,似乎内存没有刷新,我得到的是旧数据。这是我的代码:

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()

Win10-64 上的 IDA 6.9,谢谢

最佳答案

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

因此解决方案是将代码 RefreshDebuggerMemory() 添加到新内存

事实上,我在idapython的文档中搜索了“fresh”这个词,但是该页面上的东西太多了,所以我一无所获,因为我在加载所有东西之前关闭了该页面,这确实是一个错误。

关于reverse-engineering - IDAPYTHON 从内存中获取错误数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44621835/

相关文章:

android - 关于使用 apktool 从 apk 反转的特殊 smali 类的两个问题

disassembly - 无法理解如何解码M68K二进制代码

c++ - 返回值 const 和 const 赋值——反汇编

debugging - GDB中调试过程中的asm代码从何而来?

decompiling - 反编译后的 __thiscall 表达式是指向函数的指针吗?

python - IDA Pro python idaapi

objective-c - 反汇编简单的 ARM 指令?

java - 我们如何从可编辑的Java代码生成IntelliJ IDEA中的序列图?

java - .Net 服务不可用时如何在 java 中测试 .net webservice

c++ - 创建新的 NativeFunction 并使用它