【发布时间】:2014-02-04 12:21:46
【问题描述】:
我编写了一个打开 exe 文件的程序。我希望该程序读取一些特定的汇编指令及其在 exe 文件中的地址。例如 JAM 或 Call。 那么,我应该使用哪些 API 函数。如果您知道任何其他有用的资源,请告诉我;)
【问题讨论】:
标签: c++ c visual-c++ assembly
我编写了一个打开 exe 文件的程序。我希望该程序读取一些特定的汇编指令及其在 exe 文件中的地址。例如 JAM 或 Call。 那么,我应该使用哪些 API 函数。如果您知道任何其他有用的资源,请告诉我;)
【问题讨论】:
标签: c++ c visual-c++ assembly
如果您想读取 Windows PE 文件(便携式可执行文件)中的代码,您首先必须找到代码部分。
如何找到这个取决于 exe 是 32 位还是 64 位(尽管它们的内部结构几乎相同),但我建议你研究 PE 格式:http://msdn.microsoft.com/en-us/magazine/cc301805.aspx
之后,您必须找到您的呼叫代码或任何您想要的地址所在的地址。你想用那个二进制代码做什么取决于你,如果你打算将它翻译成asm人类可读的代码,你需要一个翻译器(或者自己编写一个代码......对于初学者来说很难),例如distorm(GPL 和商业许可)。
我希望这能让你开始做你想做的事。
【讨论】: