【问题标题】:Ghidra addresses do not align in with cheat engine (still need help)Ghidra 地址与作弊引擎不一致(仍需要帮助)
【发布时间】:2021-03-23 23:48:51
【问题描述】:

我现在正在练习一些逆向工程,但遇到了一个问题。如果我从 Cheat Engine 复制一个地址,然后想跳到 Ghidra 的同一个地方,我最终会进入一个 veerem 的地方。例如,0x00429D1F 在作弊引擎中是 sub [ebx+4],edi,在 Ghidra 中是 jge LAB_00 429d2b。我已经听说可以在 Memory Map 窗口中重置基地址并尝试过,但不幸的是它不起作用。此外,Ghidra 中的模式扫描对我不起作用。当我从 Ghidra 的作弊引擎中搜索某种模式的字节时,Ghidra 没有找到该模式,即使它存在。提前感谢您的帮助。

【问题讨论】:

    标签: reverse-engineering ghidra


    【解决方案1】:

    也许您在谈论这样的几个模块? CE disassembler->view->enumerate dll's and symbols 如果是这样,那么您需要将特定模块(.dll,.exe等)导入您的项目并为他设置基地址。

    【讨论】:

    • 导入到底是什么意思?在项目经理?是否有某些我必须导入的,或者有一些我不需要的,因为它们太多了。
    • @Christophy 启动您的应用程序,打开 CE,附加应用程序,显示 CE 反汇编程序,然后“查看”->“枚举 dll 和符号”。接下来,您需要找到包含您的指令地址的模块。大家可以看上图,里面显示了wow64cpu.dll(基地址77A40000)和ntdll.dll(基地址77A50000)。在 77A40000 和 77A50000 之间有 wow64cpu.dll 指令,这意味着你需要在你的 PC 上找到 wow64cpu.dll 并导入到你的 Ghidra 项目中,是的,在项目管理器中,文件->导入文件
    • 现在呢?可能是我现在非常愚蠢,但我不太明白为什么我应该导入wow64cpu.dll,因为加载 dll 的区域与指令的区域完全不同。 wow64cpu.dll 从地址77310000 开始,指令为00429D1F。我现在能用 Cheat Engine 的地址找到指令吗?
    • @Christophy 你看到我说的你的应用模块了吗?
    • @Christophy 如果这个模块是你调试的主要模块,那么你只需要在 Ghidra 中更改你在 CE 中设置的基地址
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-01-14
    • 2021-12-18
    • 1970-01-01
    • 1970-01-01
    • 2017-04-04
    相关资源
    最近更新 更多