// 找出最大的节的长度,此节一般是代码所在的节(.text 节)
//HdrLen是PE中从文件头到块的长度,section是PE中第一个块的首地址
DWORD MaxLen = HdrLen;
int ii=0; for (i = 0;i<(DWORD)pNTHeader->FileHeader.NumberOfSections;i++)
{
if(MaxLen < section[i].VirtualAddress + section[i].SizeOfRawData)
{
MaxLen = section[i].VirtualAddress + section[i].SizeOfRawData;
}
}
section[i].VirtualAddress + section[i].SizeOfRawData是表示块的长度么?为什么用加号?并且是VirtualAddress,SizeOfRawData的和?直接用VirtualSize不就是该块的真实长度么?
//HdrLen是PE中从文件头到块的长度,section是PE中第一个块的首地址
DWORD MaxLen = HdrLen;
int ii=0; for (i = 0;i<(DWORD)pNTHeader->FileHeader.NumberOfSections;i++)
{
if(MaxLen < section[i].VirtualAddress + section[i].SizeOfRawData)
{
MaxLen = section[i].VirtualAddress + section[i].SizeOfRawData;
}
}
section[i].VirtualAddress + section[i].SizeOfRawData是表示块的长度么?为什么用加号?并且是VirtualAddress,SizeOfRawData的和?直接用VirtualSize不就是该块的真实长度么?
解决方案 »
- 两段代码都做为目标HDC//之间有什么差别吗???
- smtp 邮件问题 附代码 纠结死了
- vc中样样创建一个非全屏的滚动条?
- MFC双缓冲贴图问题
- 【求助】请问如何将xml保存为字符串而非文件?急
- 请教高人:关于控制子窗口的位置
- 我已经为这件事想白了头发,眼看前边都白了(VC VB Delphi C++Builder Java C# PB 还有汇编,到底哪个编程语言好)
- 一个简单问题,保证给分:关于自定义消息
- 大家用VC++写程序都喜欢在什么平台上? win 98/me/2000/xp????
- 请教图形图像处理高手:能否高效的在CDC上画点?
- 读文本并显示
- Platform SDK和MFC有什么区别呢?
一个 DLL 作为资源文件放到 EXE 文件中,PE中IMAGE_OPTIONAL_HEADER32和IMAGE_SECTION_HEADER中的关于地址的数据项不会变化。
上面的代码的目的是程序自装载PE时求所要分配的内存。