用CE确定数据内存的基址

CE软件的下载 ,这是官网的下载,其中中文补丁也在此网页中下载。

汉化也比较简单只要把下载下来的汉化补丁放在CE安装路径下的languages下,重启CE。

然后在CE的软件中点设置------语言-----ch_cn

在进程列表中可能会遇到以下问题?1、进程中如果没有可能CE被破坏了,可以使用PC Hunter工具恢复即可。2、在驱动层程序把进程给隐藏掉了。3、看不到进程的图标是白色的,是读写内存的地方被驱动层破坏掉了。

如果搜索一个0都搜索不到的话就可以确认读写函数被破坏了,因为在内存中0是很普遍的。

在搜索中选择最小的类型,因为选小的会大小都被搜索到,如果选大的小的数会被漏掉。如:230

输入230后使画面中的230发生变化如变成218了,然后再次搜索。

让其变成211了再次搜索。

在搜索到的数据改变任一个其它数据应会跟着变动的,否则的话就不是的可能是加密了或数据类型错误了如不是字节那可能是浮点数。

如坐标通过2字节或浮点数都搜索不到,说明对数据进行了加密,可以通过类或结构的设计理念,如人物的坐标与人物的一些其它相关特性肯定是在一个类或结构体中的。

此时可以改变其它类或结构体中的的变量,如10的能量值。

此时右击数据点击浏览相关区域的内存的数据。

进入内存数据区域后将其转成4字节的浮点数,这样就能看到类或结构中的变量变化了,说明就在这个附近了。

搜索CE的基础配置。将"可写"和"可执行"两项前的框都选成黑方块状,这样可以增加搜索的几率。

当需要进行所有类型的搜索时,需要在设置中将真正的所有类类都选中才行。

有时在CE中打开多个窗口突然找不到了或一个个打开才能发现,可以在编辑----设置-----常规中勾选在任务栏显示所有窗口。

当需要打开DBVM功能进行搜索时,安是将搜索功能由应用层R3转为内核层R0工作的。

1, 要在CE的帮助----关于-----点击DBVM让其运行。

2,在CE的编辑-----设置-----调试器选项----将调试方法改为内核调试

此时进程列表中看到物理内内说明DBVM开启才算成功。很多内核级的驱动功能只有开启DBVM功能,在CE的工具中的高级功能才可使用。

找基址的另类解决方法是利用CE的指针扫描功能。如搜索到1A313B98这个地址,修改它的数据软件也会联动,此时选中此内存地址右击选择"指针扫描",在出现的选项中如图所示:32位的软件用5级搜索一般都是可以搜索出来的。如果是64位的系统一般要设成8级,10级,12级等。如果是32位软件可以勾选"地址必须是32位的"如果不是32位的就不用勾选。取消"允许堆栈里的地址在线程中被搜索"。

保存为d1.PTR,此时扫描出1亿多个地址。

一般来说基址更偏向于软件模块本身的名称加上一个偏移量,如:V105_Ralf_win32.exe,一般这种可能性较大。

想消减地址的数量,不能像扫描那样改变软件中的数据再扫描。可以通过退出游戏软件到总菜单,然后再次进入游戏软件,改变软件中的数据再次进行新的扫描。找到04EF28F8

在d1.PTR文件中-----重新扫描指针列表,将上面找到的地址04EF28F8进行在d1.PTR中重扫进行消减,这样就把结果不对的给排除掉了,结果就会消减下来。并保存为d2.PTR;

此时的指针扫描结果由原来的1亿多变成了100多了。这种情况一般是很理想了,指针一般不会只搜索到剩下一两个的,会有很多个并且都是有效的。

点击扫描到的地址变成P->加偏移量的形式就说明已经找到了。此时改变游戏软件中的数据看是否跟随变化。

在搜索到的基址上右击-----浏览相关内存区域

前往地址并复制这个地址,在d2.PTR中现有100多个地址中重新指针扫描

基址找到以后退出软件重新进入,此时不需要扫描就可以获取到数据的,进入软件以后瞬间就有地址了并获取到数据。

这个地址既然是对的了,可以用它在d3.PTR中再次搜索;可以这样往复操作。

转载请注明出处:  https://www.cntworld.cn
智能工控 » 用CE确定数据内存的基址

发表回复

提供最优质的资源集合

立即查看 了解详情