怎样用CE搜索看不到的基址

怎样用CE搜索看不到的基址,第1张

先搜未知数值的初始
然后去打怪 让血减少 选减少的数值
然后加血 选增加的数值
然后去打怪 让血减少 选减少的数值
然后加血 选增加的数值
……
这样反复多次以后 就会剩下几个 你自己再试试就知道了

这明显是dll里的一个基址
简单说就是dll里的一个全局变量。但是要注意的一点是,dll里的模块基址可能会变的,这就导致了你说的情况。
这里,你可以计算出这个变量到模块基址的偏移,这个值是不会变的,再用它加这次打开游戏时coreclientdll的模块基址,就可以得到具体的地址
写程序的话,你直接可以用Win32API得到模块加载时的基址。
另外说一句,看看汇编和OD吧。。。这么玩是玩不转的,局限性太大。

exe这个应该是模块基址,执行模块一般是0x0040 0000,8BBC1C是相对于进程空间的绝对地址。也就是8BBC1C这可能存放的是一个全局变量(或对象或结构体),这个变量映射在内存空间中的虚地址应为0x0040 0000 + 8BBC1C,你可以定位到这个内存地址值,然后根据上面的偏移找到存放血量的内存地址。

偶然
看见了缘分我
来说说我的心得吧
你找一个技能冷却时间长点的
反正时间要大于
你的CE搜的时间
先搜0吧
试试看
然后
使用技能
让他处于冷却时间
然后
每隔一小会
搜减小了的数值
直到最后搜到一个唯一数
如果不行就
先搜
4字节
未知初始值
使用后
搜改变了的数值
直到剩一个
这样就得到了
该技能的冷却时间
用CE往回查
就应该会查到一个数组
然后慢慢上去
就是了

加了驱动保护的。。。。现在一般网络游戏都这样,说个不治本的方法。以CE55为例!
打开CE的设置

“内存区域查询程序”
“可能时使用内核模式调试器”
“ 使用全局调试程序”
“隐秘模式(用户模式)”
“隐秘模式(内核模式)”
这几个选项全部选上!!!(看下面有个警告,看清楚,系统崩溃了别怪我!)
隐秘模式(内核模式)下面有个“更多”的选项,点击进去,将“防止所有模块溢出”这个选项选中!
按确定保存。。。保存。!这样,加载的话,游戏应该就不会停止了。。
治本的方法嘛。。。。

用CE比较方便,但OD也是可以的,基址就是静态地址
1、首先要先确定某一内存数据,即血蓝XY什么的
2、然后看地址,基址就是固定在程序中的某一位置的地址,具体点就是data区段里的地址
通常来说刚开始找到的地址是动态的,即临时分配的内存中
3、这个时候需要在你找的地址上下读写断点,一般来说会断到形如“mov 寄存器1, [寄存器2 + 偏移]”的指令
4、去搜索"寄存器2"的值,看看有没有静态地址存放,如果没有,重复上述步骤,直到找到静态地址。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12643819.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-27
下一篇 2023-05-27

发表评论

登录后才能评论

评论列表(0条)

保存