<b>xp下用户程序空间分配(5):加载系统DLL</b>[VC/C++编程]
本文“<b>xp下用户程序空间分配(5):加载系统DLL</b>[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
ntdll.dll是加载的第一个系统DLL,它的模块信息:
名称 | 基址 | 大小 | 进口点 |
E:WINDOWSsystem32ntdll.dll | 7c920000 | 00093000 | 7c932c28 |
对应的内存块:
基址 | 分配基址 | 分配保护 | 大小 | 状况 | 保护 | 范例 |
7c920000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
7c921000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
0007a000 | 00001000
MEM_COMMIT |
00000020
PAGE_EXECUTE_READ |
01000000
MEM_IMAGE |
7c99b000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00003000 | 00001000
MEM_COMMIT |
00000004
PAGE_READWRITE |
01000000
MEM_IMAGE |
7c99e000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000008
PAGE_WRITECOPY |
01000000
MEM_IMAGE |
7c99f000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000004
PAGE_READWRITE |
01000000
MEM_IMAGE |
7c9a0000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00013000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
7c9b3000 | 00000000 | 00000000 | 00bdd000 | 00010000
MEM_FREE |
00000001
PAGE_NOACCESS |
00000000 |
和exe略微有所辨别,还是用dumpbin把它的文件内容导出来举行对比.
1.1 文件头
DLL和EXE文 件一样都是PE格局,因此它们的文件头的构造是一样的,看看从ntdll.dll中dump出来的信息:
14C machine (x86)
4 number of sections
4802BDC5 time date stamp Mon Apr 14 10:13:25 2008
0 file pointer to symbol table
0 number of symbols
E0 size of optional header
210E characteristics
Executable
Line numbers stripped
Symbols stripped
32 bit word machine
DLL
Windows为其分配了一块空间:
基址 | 分配基址 | 分配保护 | 大小 | 状况 | 保护 | 范例 |
7c920000 | 7c920000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
以上是“<b>xp下用户程序空间分配(5):加载系统DLL</b>[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |