兄弟们,这回聊聊《罗娜的世界绅士游戏》,不是说我真成了什么绅士,而是我跟这游戏较劲,非得扒开它那层遮羞布,看看里面到底装了什么鬼。
这事儿得从去年年底说起。那时候我手上那个倒腾老式机械键盘的活儿,因为快递出了岔子,一批货全砸手里了。心情糟透了,整天窝在家里,烟一根接一根,钱又进不来,只能靠游戏转移注意力。
被老王那孙子刺激,我直接就上头了
哪知道,就在我最烦躁那会儿,老王——就是我那隔壁部门的老对头,平时见面就互相阴阳怪气的那种——突然给我扔了个截图,就是这游戏里那个贼难拿的“世界绅士”称号。还配了句文字:“怎么样?你不行。”
我一看那吊儿郎当的语气,心想他要能自己肝出这称号,我直播吃键盘。肯定又是找了野路子。这下好了,我那股子闷气,对付快递公司的火,全冲着这游戏去了。他能装逼,我就能把他装逼的底裤给扒了。 我当时就
拍板决定:不按规则来,得从根上把这游戏的秘密给挖出来。
撸起袖子干:从文件堆里找线索
小编温馨提醒:本站只提供游戏介绍,下载游戏请前往89游戏主站,89游戏提供真人恋爱/绅士游戏/3A单机游戏大全,点我立即前往》》》绅士游戏下载专区
我立马就动手了。我先是
直接在虚拟机里
装载了游戏,然后
打开文件目录,开始
翻找。我
抓取了游戏跑起来时的内存快照,
搜索了所有带“Gentleman”或者“LuoNa”的字符串。 一开始我想得太简单了,直接改个内存值不就得了?屁用没有。这游戏防作弊做得挺贼,核心数据全是在服务器端跑的,本地的修改立马就被
踢回去了。
我折腾了两天,眼睛都熬红了,就靠着咖啡续命。我开始
转战资源文件。 我
找到了一堆带“.dat”后缀的文件, 肯定是资源包。我
拖进常用的解包工具里
试了试,
没反应,加密了。
细节突破:一个不起眼的配置文件
我又
转头
去看日志和配置文件。 在一堆乱七八糟的XML和JSON文件里,我
注意到一个特别小的,名叫“asset\_manifest\_*”的文件。 这玩意儿平时谁会去看?我
点开
一看, 里面不是资源列表,而是一串指令,
告诉游戏该去哪里拉取核心资源清单,以及用哪个密钥去解密下一个清单。 看到这个,我那根快断掉的弦立马又
绷紧了。
这明显是个多层嵌套的加密机制。我
顺着它
给的地址,
找到了
下一个资源清单文件。
- 我
用了十几个常用的AES密钥去
试,
撞了四五个小时,
终于
把第二个清单文件
给
拽出来了。
- 这份清单终于
暴露了所有核心资源的文件名和校验值。
- 我
从里面
捞出了跟“Gentleman”称号相关的贴图和UI元素的文件名。
知道文件名就好办了。我
没去管那些复杂的资源本身,
而是
直接
修改了第一个“asset\_manifest\_*”文件里的一个
校验标志, 我把它
从“True”
改成了“False”。 我的想法是,
让游戏直接跳过对核心资源文件的完整性检查。
大功告成与最终实现
改完之后,我
直接
把老王截图里那个称号的贴图文件
给抠了出来,
随便
找了个
贴图
软件
把我的
ID
也
P了上去,
接着
替换了游戏里一个最基础的“新手”成就贴图。
我
启动游戏,
打开成就栏, 果然!我那最低级的“初入茅庐”成就,
图标
已经
变成了
老王那个“世界绅士”的
样子,
名字
还在,
但是
视觉上
我已经
赢了。
我
截图,
用
一个
小号
发
给
老王:
“就这?
老子
三天
就
拿到了。
下次
找
点
有
难度的
来
装
逼。”
这游戏
的
逻辑
就
是
层层
设防,
但
它
忘了
外围
钥匙
串
里
只要
有一个
能
被
利用,
后面
的
锁
就
全是
摆设。
折腾
这
玩
意儿
比
我
修
键盘
还
累,
但
是
这
口
气
总
算
是
出
了,
值!

