能力值:
(RANK:1010 )
2 楼
内存区域的指针
能力值:
( LV2,RANK:10 )
3 楼
最初由 北极星2003 发布 内存区域的指针
是要我自己先去分配一段内存,再用这段内存的起始地址当参数,是吗?
能不能详细点,我是初学者,谢谢你啊!!
能力值:
( LV12,RANK:570 )
4 楼
VirtualQueryEx一般用来查询其他进程的内存的属性。如果你自己先分配一段内存,就不用VirtualQuery了,因为分配的时候你就已经指定了该内存的属性,再查岂不是多此一举?:)
lpAddress是一个指针,你要查询的内存的地址。
能力值:
( LV2,RANK:10 )
5 楼
最初由 kongfoo 发布 VirtualQueryEx一般用来查询其他进程的内存的属性。如果你自己先分配一段内存,就不用VirtualQuery了,因为分配的时候你就已经指定了该内存的属性,再查岂不是多此一举?:) lpAddress是一个指针,你要查询的内存的地址。
谢谢楼上的解答,不过还是不明白.
我的原意是用openProcess()函数打开一个进程,再用VirtualQueryEx函数查询进程在内存中的虚拟地址.这个lpAddress参数指向的内存地址去哪里找啊???
能力值:
( LV7,RANK:140 )
6 楼
你是要查询全部内存的话,参数就是0,从头开始查,如果是有目的的查,比如从0x400000开始查,那么参数就是0x400000
能力值:
( LV2,RANK:10 )
7 楼
LOCAL @mbi:MEMORY_BASIC_INFORMATION ;局部变量定义
invoke VirtualQueryEx,@hProcess,NULL,addr @mbi,sizeof @mbi
这样用没错吧,为什么函数都是执行失败啊,???
能力值:
( LV12,RANK:210 )
8 楼
VirtualQueryEx是查询内存页属性的
第二个参数是欲查询的那个页面中的某个线性地址
一页是4KB大小, 只要指定了这4KB中的任何一个线性地址就会返回整个页面的信息
如果试图查询内核模式下的页面(如线性地址80000000h以上的内存页), 函数会执行失败
能力值:
( LV2,RANK:10 )
9 楼
最初由 thebutterfly 发布 VirtualQueryEx是查询内存页属性的 第二个参数是欲查询的那个页面中的某个线性地址 一页是4KB大小, 只要指定了这4KB中的任何一个线性地址就会返回整个页面的信息 如果试图查询内核模式下的页面(如线性地址80000000h以上的内存页), 函数会执行失败
谢谢楼上的解答.不过我是用openProcess()函数随便打开的一个进程,我怎么去确定这个参数是多少啊?用什么知道这个地址呢??还有这个参数用NULL有没有错啊??但我的函数还是执行失败啊!
能力值:
(RANK:1010 )
10 楼
VirtualQueryEx是用来查询内存页面保护属性的
假设你需要修改PE文件头的“PE”标志,那么首先你需要取得指向文件头的指针pFileHeader,然后把pFileHeader作为第二个参数就可以了。
如果对“指针”,“取地址”等概念不清楚的话,看看那些程序设计的书籍