如何访问_LOADED_IMAGE结构中的所有PE节标头



我正在尝试打印PE文件的所有部分。

目前我正在使用ImageLoad((加载图像(来自Imagehlp.dll)函数,然后返回一个_LOADED_IMAGE结构(请参阅MSDN(。

我正在努力访问所有部分,访问

  • PIMAGE_SECTION_HEADER节;

  • PIMAGE_SECTION_HEADER LastRvaSection;

只给我一个.text部分,我不知道如何移动到下一个部分:/(我的文件有6个部分(。

我试过做这样的事情,但我没有得到任何有效的部分:

PIMAGE_SECTION_HEADER test = (PIMAGE_SECTION_HEADER) ((fileImage->Sections) + sizeof(PIMAGE_SECTION_HEADER)); 

有人能帮我提供一些示例代码吗?

我设法弄明白了:

int main(void) {
printf("HelloWorld!n");
PLOADED_IMAGE img = ImageLoad("file.exe", R"(path)");
if (nullptr == img) { return EXIT_FAILURE; }
printf("Loaded: %sn", img->ModuleName);
for (auto index = 0; index < img->FileHeader->FileHeader.NumberOfSections; ++index) {
printf("Section Name: %sn", img->Sections[index].Name);
}
ImageUnload(img);
return EXIT_SUCCESS;
}

最新更新