【游戏分析】RPG类型游戏数据关联名称库加密算法

我们找到的无论是周围数组还是数组套链表结构里

都没有发现NPC名称

那么我们在不能直接观察得到的时候

只有单独去找名称属性了

找一个NPC搜索其名称

得到10几个

那么我们尝试修改看看是哪一个

发现是14这个地址

到DO中去看一下

发现周围全是其他的各种字符串

那这里应该是一个名称库了(由于OD的小BUG 有些字符显示会出现错误,可以拿CE等其他工具辅助查看字符串具体内容)

字符串的处理

我们直接到堆栈中其最先出现的位置

发现是这个call的第一个参数

那么我们跳过去继续分析即可

继续追EAX

发现eax是变化的

属于正常情况,因为该处是遍历,周围数组的所有名称应该都会访问这里

其中NPC头上2个字符串 都在这个结构里

另外一个是我们自己的名称字符串

继续往上追

应该是 这个位置可以返回到很多不同的库中

名称在一个库

新手指引那种字符串应该又再另外一个库里

当然以后还可能发现其他的库

怎么发现的?因为返回以后 看遍历的时候发现只有2个字符串了,才回来发现的

这里面先只追名称库

进入来源函数

分析函数内代码得到公式

要获得一个对象的名称字符串

取他252*4+550的属性值

等于0情况1 不等于0情况2

情况1 猜测人物玩家字符串

\[0FBE0FC\]+n\*4\] 对象 n通过汇编算法计算获得 对象+30链表 名称 \[对象+4+4

情况2 猜测NPC字符串

\[0FBE0eC\]+n\*4\] 对象 n通过汇编算法计算获得 对象+30链表 名称 \[对象+4+4

算法内联汇编抄写即可

或则也可以直接调用函数获得名称字符串

由于函数内部没有复杂的调用

所以我们可以放心的直接调用取名称字符串也是不错的。

相关推荐
魔士于安1 小时前
unity完整项目走廊
游戏·unity·游戏引擎·贴图·模型
cocos精品源码 - 汉字游戏2 小时前
我要验牌 - Cocos 汉字游戏
游戏·汉字找茬王·乐趣找字·汉字拆解·cocos找字·cocos汉字·cocos小游戏
Swift社区5 小时前
从手游到鸿蒙游戏:开发逻辑变了什么?
游戏·华为·harmonyos
KuYouRan7 小时前
ubuntu22.04用RTX2060显卡玩steam游戏
linux·其他·ubuntu·游戏
全栈软件开发9 小时前
vue租号系统源码/租号玩平台源码/游戏账号出租系统/虚拟账号出租平台源码
游戏·租号系统源码
huwuhang9 小时前
PPSSPP模拟器游戏合集下载 PSP游戏资源 主题和金手指、游戏封面、PSP用PS1游戏
游戏
彭波39611 小时前
Steam致命错误failed to load steamui.dll?磁盘写入错误怎么解决?steam安装游戏为什么磁盘写入错误?提供一些可问题解决方案
游戏·阿里云·电脑·开源软件·代码复审
风酥糖12 小时前
Godot游戏练习01-第22节-错误弹窗与连接错误处理
游戏·游戏引擎·godot
前端不太难13 小时前
AI 驱动游戏:鸿蒙生态的机会在哪里?
人工智能·游戏·harmonyos
风酥糖1 天前
Godot游戏练习01-第21节-优化游戏菜单,增加选项
游戏·游戏引擎·godot