被动技能名字描述CALL
搜索名字寻找名字库的名字对象
1.搜索我们找名字,肯定是需要用CE搜索名字拉,由于是韩文,我们用翻译器截图获取韩文字符串
2.开始截图获取
3.我们用CE搜索字符串,这里注意是UTF-16勾上,找到了4个完全一样的结果, 我们修改确认哪一个才是真正技能库的名字
4.修改后点击技能按钮,观察UI字符串变化
5.经过我们的修改,发现的确有一个是我们想找的名字
6.拿到字符串来到XDBG附加游戏后跳到这个地址处
7.首先想一想我们的字符串是通过刷新UI刷新出来的,那么这个字符串肯定是需要被访问的,所以我们下硬件访问断点,通过刷新UI,此时会触发断点
8.观察寄存器,看看那个地址是字符串的首地址,我们就往上找来源看看
9.发现是rbx,这里我们就可以往上找然后执行到返回了
10.来到第一处返回到
11.由于我们找的是名字CALL,我们继续返回多层
观察参数是否有名字相关的,比如ID之类的,因为我们知道这类型游戏都是名字ID关联到名字库中获取名字对象
12.继续返回看看,终于在第3层我们找到了相关名字对象,注意这个CALL的参数rcx是堆栈地址,里面有2个对象是名字对象,虽然是2个但是他们相差0x10说明都在同一个对象下,换句话来说在同一片结构体中
13.我们看看名字对象在内存中的存储情况,我们发现RCX堆栈地址中的第一个对象+40就是字符串首地址的地址
14.继续+40进入看看字符串
15.进入就能看到字符串了
16.此时此刻我们就找到了名字库中的名字对象1
17.接下来是关键点,如何找名字CALL呢?,我们肯定会习惯的往上找来源,但是发现全部来自于UI控件对象上,这里就不好找了,难道没有别的办法了吗?
搜索名字对象存在名字库中的地址
1.我们可以换一个思路,我们前面说了既然名字对象在名字库中,那么我们可以用CE搜索这个名字对象地址,然后观察内存,既然是名字库那么肯定会有一堆连续的内容同是结构体大小是一样的紧密的排列在一起
2.好!我们既然有了这个思路,我们就可以操作一下验证了!
3.发现CE有多个结果,但是不多,那么很好!我们一个一个观察
4.当我们观察到一个很像我们刚才上面所说的,紧密排列的结构体的名字库
5.同时观察到结构体中也同时包含了2个对象,也刚好相差0x10,这个就是我们上面所说的名字库了,接下来就下访问, 通过刷新UI来触发访问断点
6.通过参数分析就找到了名字CALL和描述CALL
7.总结一下,思路很重要,既然都是从名字库中拿字符串,那么我们就反着来搜索先找名字库再下访问去找名字CALL!
8.好了,这一章就结束了,感谢大家的支持,手敲不容易希望多多点赞
9.感谢支持迪大学院~285530835