TC官方合作论坛

标题: 【图文解说】用CE寻找游戏指针的2种方法(原创) [打印本页]

作者: 1357501545    时间: 2013-1-23 13:48
标题: 【图文解说】用CE寻找游戏指针的2种方法(原创)

方法一:分析法
以CE教学软件为例,我用的CE版本是 6.2汉化版,教学软件没汉化 ,不同版本可能会略有不同。

打开CE教学软件“Tutorial-i386.exe”,输入密码525927直接跳到第8步,多级指针,打开CE加载CE教学。
[attach]7412[/attach]

[attach]7414[/attach]

输入教学软件上 给出的数字 进行搜索。
[attach]7415[/attach]

得到一个地址,黑色的,说明是动态地址。所谓动态地址,就是这个址是会变的,
比如说在游戏中存放人物血的数值的地址,每次变换角色或者重新登录甚至变换一下场景,都会发生变化。
那么,通过读写这个地址来得到人物的血量值,就无法实现,变一下就找不到了。
现在我们就是要来分析这个地址是怎么来的。

双击一下这个地址,添加到下面的地址栏,然后右键点击这个地址,“找出是什么改写了这个地址”
[attach]7416[/attach]

按一下教学软件上的按键“Change Value”改变数值。
好了,出来一行代码,正是这行代码在改写这个地址里的数值。
[attach]7417[/attach]

双击这行,看详细信息,CE提示要寻找的指针可能是“d7780”
[attach]7418[/attach]

我们点 新的搜索,选中16进制,数值是“d7780”,结果出来了,还是黑色的。
同样的方法 把它添加到下面地址栏,但现在起我们要“找出是什么访问了这个地址”
[attach]7419[/attach]

重复这一步的操作,直到搜索到的地址是绿色的为止,绿色的地址,表示是基址,不再会发生变化。
现在回过来梳理一下这个过程,原来我们一开始找到的那个地址,是经过这4次变化得来的。
[attach]7420[/attach]

这个是基址,这里是用一个模块加偏移表示的。
[attach]7421[/attach]

我们在CE上,点“手工加入地址”,钩选“指针”,按“Add Offset”,添加成有4级偏移的指针,
最底下方框中输入基址(模块名+偏移),逐级往上每次的偏移量。
[attach]7422[/attach]

好了,指针地址添加好了。
[attach]7423[/attach]

现在测试一下,按教学软件上的“Change pointer”改变指针,
看一下我们 分析出来的这个指针是不是准确同步变化。
同时也可以看到,改变指针以后,前面找出来的那些动态地址,全都没用了。
[attach]7413[/attach]

<未完待续,请稍候看第二部分>













作者: 1357501545    时间: 2013-1-23 13:48
上面,简要说了用分析法 查找多级指针的方法,说得比较粗略,网上类似的教程也较多,大家可以去找找参考一下。
现在这里要讲讲第二办法:扫描法
相对来说,CE教程上的指针地址,是比较简单的,让我们这些未入门的人 也三下五除二 找到了,
在实际各类游戏中,大多数时候可没这么简单,更多的需要点汇编的功力,
特别是,有的时候进行第二步,“找出是什么在访问这个地址”,一个地址也搜索不到,如果要分析代码吧,能力有限,
怎么办,这就可以用到第二种办法,扫描指针,关于这个方法,网上很多教程都是一句话带过,以为大家都是大侠,
这点小事不值得一提,唉,的确 就差一层窗户纸,我也有一阵子 很糊涂,冥想很久才明白,好了,废话不说了,进入正题

第一步是同分析法一样的,先的到这个动态地址。
然后注意,这里要做的是“扫描目标地址指针”
[attach]7426[/attach]

多数情况下,我们只需要CE默认值进行搜索就可以了,就是要设一下扫描指针的深度,
级数少 扫描的时间就少,我一般都是从4级开始扫描,扫描4级指针真的花不了多少时间,
4级找不到就再扫5级,再6级。7级。。
再高8级、10级,恐怕搜索几天几夜也搜索不完,大家看着办吧。
[attach]7427[/attach]

这里要选择一下,存放扫描的结果文件名和目录位置,
建议放到空间相对较大的磁盘分区上,扫描级数高的时候,占用磁盘空间是相当可观的。
[attach]7428[/attach]

第一次结果出来了,接下来需要做的是清理错误的数据,最终得到我们想要的。
[attach]7429[/attach]

在教程软件上按“Change pointer”改变一下指针,重复第一步操作,得到一个新的动态地址。
在实际的游戏中实现这一步的动作就是重新登录一下游戏,
甚至是关闭游戏客户端重新开启
或者只是简单地改变一下场景等等,要根据游戏的实际情况来确定。
[attach]7430[/attach]

我们把再次查找到的地址,输入进去重新扫描,
注意:最好新建一个文件存放扫描结果,
避免有的时候 因操作失误破坏已有的数据文件,这样出错了还可以返回重新来过。
[attach]7431[/attach]

结果出来了,就1个指针,双击一下,添加到地址中。扫描任务完成了。
是不是很简单啊,一点都不用分析汇编。
前面说了 教程的指针是简单的,扫描一下 就出来了,
实际游戏中扫描操作可能要进行多次才能得到比较准确的指针,
指针也可能不止1个,有很多,
比如说,现在大型游戏中的模块很多,不同的模块名加不同的偏移,
都是不同的指针,但大家只要看,各级指针的偏移量是不是相同的,
如果全部相同,那就说明其实是同一个指针,只是说基址的地址相对于各个模块的位置不同而已。
[attach]7425[/attach]

也有的时候,扫描几次以后,一个指针也没找到,那就悲剧了,
可能一:需要扫描更高级别的指针。解决办法:花时间继续扫描吧。。。。
可能二:链表式结构的指针(可能是这个意思吧,我也不太明白),不适合扫描。
解决办法,请汇编功力比你我高的人,帮你分析代码吧。或者你努力学习,自己成为高手、大侠以后,再来帮我解决这个问题。

========================================
顺便说一下,找到指针以后,在TC中 怎么用:
方法是调用大漠插件,如读取内存数值的函数:
value = dm.ReadInt(hwnd, "[[[[<GameObj.dll>+2b2aec]+5c]+16]+0]+20", 0)

好了,我要讲的东西就这么多了,有讲得不对的地方请大侠们指正一下, 如果大家觉得对自己有帮助就支持一下吧,谢谢啦


作者: 我又来了    时间: 2013-1-23 14:16
虽然不知道怎么回事 但是感觉很妞呗的映子
作者: sj6071    时间: 2013-1-23 14:43
uuuuuuuuuuuuuuuuuuuuuuuuuuuup
作者: 1357501545    时间: 2013-1-23 14:59
虽然不知道怎么回事 但是感觉很妞呗的映子
我又来了 发表于 2013-1-23 14:16:34

谢谢支持哦,
我来说明一下,找游戏指针的用处:
写个打怪的脚本, 要根据血量多少来确定是不是要吃加血的药,
如果不能找到内存中存放的血量数值,那你就得用找图色的方法来确认血条长短,
如果能读内存,直接得到血量值,那省了多少事啊
只需要读取就行了,对于网络游戏 通常情况下 千万别指望去改写这个数值,没用的。

作者: saga    时间: 2013-1-23 16:24
支持原创!支持分享!
作者: 今非    时间: 2013-1-23 18:22
汇编  也就就学校那点东西
作者: Sky_Pro    时间: 2013-1-23 18:28
撸主传个过保护的ce呗,调试不了有毛用。。。
作者: Sky_Pro    时间: 2013-1-23 18:44
撸主是个好人,说的很详细!顶!!!
作者: 1357501545    时间: 2013-1-23 18:58
撸主传个过保护的ce呗,调试不了有毛用。。。
Sky_Pro 发表于 2013-1-23 18:28:38

我爱破解论坛上,有个“我爱破解专用过检测版CE”,据说可以过多种保护,
但我没试过,不敢说好不好用,你可以去看看,如果不行的话,我可以帮你转过来。

作者: 1357501545    时间: 2013-1-24 14:33
下面发,可过检测的CE,给有需要的朋友下吧。
普通的汉化版,网上好找,就不贴了,免得浪费论坛资源

作者: yyyyjx    时间: 2013-1-24 16:03
会找地址的人,就会发现用基址判断很爽,代码大大缩短。可是不会用的人,又不愿意去学。
作者: 1357501545    时间: 2013-1-24 21:13
会找地址的人,就会发现用基址判断很爽,代码大大缩短。可是不会用的人,又不愿意去学。
yyyyjx 发表于 2013-1-24 16:03:14

没错啊,只有尝到甜头,才会更带劲
作者: kbq611    时间: 2013-11-20 14:11
425456456
作者: ab01    时间: 2013-11-22 01:24

作者: chnhi    时间: 2013-12-11 01:05
很好,收下了,新人报道,很实用~
作者: chnhi    时间: 2013-12-11 01:07
抱歉,只有特定用户可以下载本站附件
[ TC论坛 首页 ]为什么啊~不让下载,个人觉着各种规定限制了新人的发展~强烈要求楼主开发下载~

作者: 阿飘    时间: 2013-12-16 19:21
谢谢分享
作者: nndaa    时间: 2014-2-25 12:16
2种方法
作者: faithk    时间: 2014-5-5 15:41
回复看看
作者: blueys    时间: 2015-4-18 15:08
看不懂。。哎。。好捉急。。
作者: blueys    时间: 2015-4-18 15:09
下载不了。。汗。。




欢迎光临 TC官方合作论坛 (http://bbs.52tc.co/) Powered by Discuz! X3.1