从 PE 文件中的部分获取原始数据
Get raw data from a section in a PE file
我正在编写一个 PE 查看器。我正在尝试打印每个部分的原始数据。
我想使用 section[i]->PointerToRawData
来跳转到部分并使用 section[i]->SizeOfRawData)
创建一个循环来打印原始数据
你能告诉我执行此操作的流程以及我如何显示原始数据吗?
谢谢你,抱歉我的英语不好
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++);
}
我正在编写一个 PE 查看器。我正在尝试打印每个部分的原始数据。
我想使用 section[i]->PointerToRawData
来跳转到部分并使用 section[i]->SizeOfRawData)
创建一个循环来打印原始数据
你能告诉我执行此操作的流程以及我如何显示原始数据吗?
谢谢你,抱歉我的英语不好
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++);
}