修补PE可执行文件

时间:2010-02-11 16:29:59

标签: c assembly portable-executable

假设我已经将PE可执行文件加载到内存中,并且适合使用dos,nt头结构,现在我想找出它的.text / code segement实际(不是VA)偏移+大小我该怎么做? 是否有win32 api用于查找.text起始偏移量或者可能是来自结构的指针 指向该段的起始偏移量

感谢。

3 个答案:

答案 0 :(得分:2)

IMAGE_FILE_HEADER和IMAGE_OPTIONAL_HEADER拥有部分此类信息。您可以使用GetNTHeaders()函数检索它们。从那里,您可以使用IMAGE_FIRST_SECTION(pNtHeaders)获取第一个节头。节标题是顺序的,并保存您感兴趣的其余信息。文件标题包含节数。

答案 1 :(得分:1)

答案 2 :(得分:1)

尝试使用PE File Format DLL获取信息。完整源代码提供,非GPL设置,因此您可以在商业项目中使用它。

同样可用(带源代码)是PE File Explorer,向您展示如何使用DLL。 亲