首页
社区
课程
招聘
[求助]
2012-7-3 14:57 3157

[求助]

2012-7-3 14:57
3157
#include<windows.h>
#include<tchar.h>
#include<stdio.h>
extern "C" const IMAGE_DOS_HEADER  __ImageBase;

void DumpModule()
{
    HMODULE hModule = GetModuleHandle( NULL );
    _tprintf( TEXT( "with GetModuleHandle(NULL)= 0x%x\r\n" ),hModule );
    _tprintf( TEXT( "with __ImageBase= 0x%x\r\n" ),( HINSTANCE )&__ImageBase );
}
int main( int argc, char* argv[] )
{
    DumpModule();
    return 0;
}

请问这段代码里面的IMAGE_DOS_HEADER有什么用,我把这个删掉也能编译。

[培训]《安卓高级研修班(网课)》月薪三万计划,掌 握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

收藏
点赞0
打赏
分享
最新回复 (2)
雪    币: 22
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
L木木衫 2012-7-3 15:13
2
0
IMAGE_DOS_HEADER表示__ImageBase是属于IMAGE_DOS_HEADER这种类型
我觉得应该是这样理解,不知道对不对呵呵。
雪    币: 285
活跃值: (16)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
liuyq 2012-7-3 20:31
3
0
2 种可能,第1,这个IMAGE_DOS_HEADER只在DOS系统中有用,WINDOWS里为了保持兼容,所以没有删除,第2 ,你这代码的文件名是C还是CPP,这个和extern "C"有关系的。
游客
登录 | 注册 方可回帖
返回