-
-
[旧帖]
[求助][求助]DOS头重复添加了?为啥还是能读取输入表
0.00雪花
-
发表于:
2010-12-3 12:57
3075
-
[旧帖] [求助][求助]DOS头重复添加了?为啥还是能读取输入表
0.00雪花
这里imagebase(表示DOS头) 是不是重复添加了 还是后面 明明pNtHeader已经加入了Imagebase (DOS头)但是后面确还是有加入imagebase 但是运行起来却是正确的
PBYTE ImageBase;
PIMAGE_THUNK_DATA r;
PIMAGE_NT_HEADERS pNtHeader;
PIMAGE_IMPORT_DESCRIPTOR pImport;
//取得DOS头基址
ImageBase=(PBYTE)GetModuleHandle(NULL);//0x400000
//PE头=ImageBase+[ImageBase+3c]
pNtHeader = (PIMAGE_NT_HEADERS) (ImageBase + ((PIMAGE_DOS_HEADER) ImageBase)->e_lfanew);
//IMAGE_DIRECTORY_ENTRY_IMPORT值为1 表示import tabale
pImport = (PIMAGE_IMPORT_DESCRIPTOR)
(ImageBase + pNtHeader->OptionalHeader.DataDirectory[IMAGE_DIRECTORY_ENTRY_IMPORT].VirtualAddress);
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!