从PE文件中的部分获取原始数据

时间:2017-06-28 09:11:30

标签: portable-executable

我正在写一个PE查看器。我正在尝试打印每个部分的原始数据。

我想使用section[i]->PointerToRawData来跳转到部分并使用section[i]->SizeOfRawData)创建一个循环来打印原始数据

您能告诉我一个流程吗?以及如何显示原始数据?

谢谢你,抱歉我的英文不好

1 个答案:

答案 0 :(得分:1)

PointerToRawData是相对于文件开头的偏移量,因此只需将其添加到已加载文件的内存地址即可为您提供起点。听起来你可能想尝试这样的事情:

const BYTE* p = (BYTE*)pFileBase + section[i]->PointerToRawData;
const BYTE* pEnd = p + section[i]->SizeOfRawData;
while (p<pEnd)
{
    your_char_output_routine_goes_here(*p++);
}