【游戏分析】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

算法内联汇编抄写即可

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

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

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

相关推荐
山东布谷网络科技9 小时前
靠“社交+游戏”突围:中东语聊APP前景预测与低成本运营案例
人工智能·游戏
郝学胜-神的一滴14 小时前
[简化版 GAMES 104] 现代游戏引擎 04:从0到1构建你的游戏世界
c++·游戏·unity·游戏引擎·软件工程·unreal engine
灼灼其华tzl16 小时前
飞机大战游戏1
游戏
爱勇宝18 小时前
《完蛋!我被男同学包围了》为什么会火?不只是因为“高中生玩票”
游戏·游戏开发
中国搜索直付通20 小时前
游戏车机端支付通道,会是下一个被低估的合规战场吗?
java·大数据·开发语言·人工智能·游戏
humors2211 天前
支付宝游戏频道《灵画师》体验
游戏·介绍·体验·攻略·灵画师·试玩
HMS Core2 天前
基于人体骨骼点识别与跟踪,实现低时延体感游戏
游戏·华为·harmonyos
AI分享猿2 天前
游戏原画与建筑灵感:AI图像生成如何服务前期设计
人工智能·游戏
饺子大魔王的男人3 天前
NAS还能挂机修仙?极空间部署XiuXianGame网页游戏教程
游戏
Tisfy3 天前
LeetCode 1406.石子游戏 III:递归(DFS+记忆化) / 递推(DP+原地滚动)
leetcode·游戏·深度优先·dfs·题解·博弈