能力值:
( LV5,RANK:66 )
|
-
-
2 楼
R代表Read,W代表Write,E代表Execute。分别是可读、可写、可执行。
编译时,一般是代码段可读可执行不可写,数据段可读可写不可执行。
如果在不更改页面保护属性的情况下,尝试更改代码段内容,程序会产生异常。
程序执行时,可以利用VirtualProtect更改页面保护属性。
至于编译时如何设置区段属性,小弟才疏学浅,不是很了解。
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
最想知道的是最后两列的意义,感觉访问和初始访问两列的内容都和PE区段属性对不上啊~
关于“有什么办法在编译exe的时候就改变默认的访问属性吗?”这个问题,昨天在编程区问到了答案http://bbs.pediy.com/showthread.php?t=137029
楼上给出的VirtualProtect方法也让我学到了新的东西,谢谢。
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
地址:每个内存区域的起始位置。请注意如何将这些地址总是与“000”结束,因为他们都是对齐页边界(在Windows 0x1000字节)。
大小:该区域的大小。请注意如何将这些也总是与“000”结束,因为每个区域是0x1000字节倍数大小的页面。
物主:该区域的“所有者”的描述,它从何而来。这可以用来确定一个模块(module)。
区段:如果此区域加载的是PE的一个PE节。显示节名
包含:本区域的内容描述。这可以用来确定一个块。
类型: 说明是映射(MAP:主要是一些公用DLL,系统模块等),镜像(IMAGE,程序或DLL等模块自身节段加载),和预分配(priv:主要是堆栈和操作系统所初始化的内存段)
访问:进程运行的代码,在本区域的访问类型的标志。这包括读R,写W和执行E。请注意,页面都没有W和E,这意味着可以执行就不能修改内存,并可以修改就不能执行。这就是所谓的数据执行保护(DEP)。 这是被进程和系统修改后的当前结果。
初始访问:系统在程序加载前,以0初始化虚拟内存页时所规定的内存访问标志,比如准备把PE节段镜像(IMAGE)加载入内存时,会设置为读写执行。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
长知识了~ 谢谢举剑问天。
|
|
|