xp下用户程序空间分配(4):加载主程序[VC/C++编程]
本文“xp下用户程序空间分配(4):加载主程序[VC/C++编程]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:
这个是主程序,它的模块信息:
名称 | 基址 | 大小 | 进口点 |
f:embedetoolsDebugbinbash.exe | 00400000 | 0006f000 | 0045bb30 |
对应的内存块:
基址 | 分配基址 | 分配保护 | 大小 | 状况 | 保护 | 范例 |
00400000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
00401000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
0005c000 | 00001000
MEM_COMMIT |
00000020
PAGE_EXECUTE_READ |
01000000
MEM_IMAGE |
0045d000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00007000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
00464000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00001000 | 00001000
MEM_COMMIT |
00000008
PAGE_WRITECOPY |
01000000
MEM_IMAGE |
00465000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00003000 | 00001000
MEM_COMMIT |
00000004
PAGE_READWRITE |
01000000
MEM_IMAGE |
00468000 | 00400000 | 00000080
PAGE_EXECUTE_WRITECOPY |
00007000 | 00001000
MEM_COMMIT |
00000002
PAGE_READONLY |
01000000
MEM_IMAGE |
0046f000 | 00000000 | 00000000 | 00001000 | 00010000
MEM_FREE |
00000001
PAGE_NOACCESS |
00000000 |
这些块的范例都是MEM_IMAGE,且分配时的保护标志都是PAGE_EXECUTE_WRITECOPY,MSDN这样注释这 个标志位:
Enables execute, read, and write access to the committed region of image file code pages. The pages are shared read-on-write and copy-on-write.
这几个内存块的分配基址 都是一样的,猜想windows是为整个文件申请了一块大的空间,然后将文件里面的section辨别写入到不 同的区域里面去.
用下面的号令行将全部的信息dump出来.
dumpbin /all bash.exe
以上是“xp下用户程序空间分配(4):加载主程序[VC/C++编程]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:
本文地址: | 与您的QQ/BBS好友分享! |