能力值:
( LV13,RANK:370 )
|
-
-
2 楼
ReadProcessMemory
搜索2G地址空间就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
今天下午写了个测试程序,别说搜索2G了,就算搜索1G也慢得要死,循环里只有一个读进程空间的函数,别的啥也没有哦,为什么这么慢呢?我的电脑可是新买的!
要是我会反汇编就好了,可以看看金山游侠到底是怎么做的,谁能反汇编把关键的汇编代码发上来啊?
|
能力值:
( LV4,RANK:50 )
|
-
-
4 楼
不需要搜索全部的2GB的地址空间.只需要搜索你要修改的游戏进程就可以了
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
说得我有些糊涂了,进程空间不就是4G吗?能用的是低2G啊,高位2G是操作系统的,在说我也不是知道他的数据到底是放在进程空间哪里(2G空间),所以得循环搜索啊。
|
能力值:
( LV4,RANK:50 )
|
-
-
6 楼
这个和进程控制有关.. 修改游戏前你可以先扫描一下内存中的所有进程
用枚举系统进程的函数 CreateToolhelp32Snapshot 然后使用 Process32First和Process32Next 函数
金山游侠修改游戏的时候会叫你选择一个进程..然后就在这个进程里面搜索数据 .
如果你要制作单个游戏补丁的话..可以先用CREATEPROCESS 先创建你要修改的游戏进程为子进程,然后用 READ,WRITE 内存函数 读写修改游戏数据
|
能力值:
( LV13,RANK:410 )
|
-
-
7 楼
搜索的时候,根据页属性排除下。会快很多的
只搜索PAGE_READRITE
|
能力值:
( LV12,RANK:220 )
|
-
-
8 楼
貌似4*****以前的才有用。后面的内存都不是保存数据的
|
能力值:
( LV2,RANK:10 )
|
-
-
9 楼
用ReadProcessmemory再快也有限。
|
能力值:
( LV2,RANK:10 )
|
-
-
10 楼
2G空间???真正在内存里的没这么大吧,如果你搜索2G的话有很大一部分是在硬盘中的,等那一部份读进内存让你搜索,那个速度不慢才怪呢.所说的2G空间是虚拟内存地址空间(不是我们平时说的虚拟内存,相关资料看<<Windows深入剖析(初始化篇)>>或<<Windows深入剖析-内核篇>>吧).
|
能力值:
( LV2,RANK:10 )
|
-
-
11 楼
只读页面是不用搜索的,搜可读写的即可!
|
能力值:
( LV2,RANK:10 )
|
-
-
12 楼
如果是修改游戏的数据好象只搜数据页就行了.
|
能力值:
( LV2,RANK:10 )
|
-
-
13 楼
软件上不是显示搜索范围了吗, 就按照默认的范围就行了
|
能力值:
( LV2,RANK:10 )
|
-
-
14 楼
看了金山的帮助文件知道了金山是先检查是否为内存提交页,是的话在读取比较的。
|
能力值:
( LV6,RANK:90 )
|
-
-
15 楼
用ReadProcessmemory如果慢,有可能一次读的数据量太小了,这种代码网上多的很,随便找找
|
|
|