【AI文艺复兴2】金山灵犀游侠?!AI能让游戏修改再次支棱起来吗?


Lv.3 优质创作者
在游戏领域,游戏修改器是无法避免的话题,尤其是单机游戏方面,不仅仅是PC,在主机/掌机平台,光我直接使用过的修改器,就可以修改NDS、3DS和PS4游戏(主要我的Switch没去破解,不然继续+1),而那些直接破解过的游戏,再加10个平台都不嫌多。
游戏修改主要有3种记录路线:
其一为DOS时代常见的文件补丁式,它基本上是靠修改游戏程序来进行游戏修改,特点是永久生效(因为游戏程序直接被改了),缺点是会损坏游戏文件。
其二为迄今为止仍然最流行的内存修改器,代表产品为金山游侠、风灵月影、Cheat Engine、整人专家、东方不败等。
其三为存档修改器,也不会损坏游戏本体,修改的是游戏保存后生成的存档,代表产品有至愚修改器(主要修改轩辕剑系列)、太阁立志传4存档修改器等。
本文并非探讨游戏修改器的发展史,仅简单说明一下。出于使用效率,本文探讨的范围为内存修改器,因为补丁式和存档修改都需要进行逆向工程,即使依靠AI也会消耗大量时间和token,除非网上有可行的教程。
本文使用工具:灵犀专业版,大模型:GLM5.3-Flash(牛来),思考强度:高(第二档)。
大家好,我是南月。
本文带来“AI文艺复兴计划”系列的第二篇文章:金山灵犀游侠,上一篇为“金山灵犀毒霸”(https://bbs.wps.cn/topic/93592)。
本次任务对AI只有一个要求:不得去网上找修改方法,要自己研究。
其实一开始,本来想由简到难的,所以我随便选了一个正在玩的《勇者斗恶龙怪物仙境3:魔族王子与精灵的旅程》,没想到开篇就遇到了地狱级难度,太占篇幅了,还没成功,所以这个放到最后说。
灵犀的结论:
先进行后面的:
这次找了一个真女神转生V。
真女神转生中并没有显示主角和仲魔当前的总经验,只有一个“距离下次升级还需要的经验”,当这个值在战斗结束结算后如果为0(小于0时也显示0),会触发升级。
当我先行在CE中尝试的时候,心又冷了一截,因为它虽然能搜到,但是后续数值会乱变,说明此时该内存的地址已经转移。
不过还是值得先试试。
这是修改任务对话的第一句,其实是在修改勇者斗恶龙之前问的,因为后面几个游戏都在这个对话中,为了方便阅读就把这几句先放出来了。
先确定它可以做,再继续后面的内容,灵犀尝试后确实可以。然后确认我需要提供的信息,只需要提供内容,不用考虑类型。
开始查找数值。
它查到内容后进行了测试修改,不过我重进界面后发现没变。
后来它改变了策略,去找被隐藏起来的总经验值,策略是对当前该进程完整的内测数据进行缓存,然后多次战斗得到不同的经验值,最后筛出符合增长数值的数,基本上就是经验了。
后来打了两场就找到了,不过巧合的是我队伍中有6个仲魔的经验数量一样,所以它找到了6个值。
经过尝试,显示的升级所需经验确实变化了,证明修改总经验值有效,只是用户直接看不到这个数值。
为了测试效果,我让他在现有经验值的基础上直接增加400万(超过升级所需的320万),这样下一场战斗就会触发升级,看看有没有效果。
先在界面上查看了一下,所需经验变成了0。
战斗一次后,总共6个角色升级,效果实现。
接下来试另一个有点特殊的游戏——开罗系列游戏,这次用开罗的《魔王城物语》。
先用个简单的,金钱。
没问题,一次就找到并且修改成功了。
有点特殊的是这两个,在开罗绝大多数游戏中,显示在金额下方的资源都是以Group的形式存在,单独查某一个查不到,必须以分组(Groups)的方式同时查,这有几个小资源就要查几个字段,前面的4是4字节的意思。
我没告诉他在CE中具体怎么查,就说了这两个数字,不过没想到它一下就查到了,并且成功修改。
看一下思考过程,发现它自己经过几次尝试就找到了。
最后看看翻车的案例。
数值在CE中直接无法扫描。
首先它会询问修改的游戏的进程名,可以在任务管理器中看到,转到详细信息就能看到进程名(它会自动选中)。
查找经验,183。
查到十万多个结果,所以需要继续查找。
战斗一次后,查找191。
还需要继续查。
查到了一个唯一的203数值,似乎就是这个了?然后我让他改成99999。
经过一番尝试之后发现,没变化。然后我想着是不是需要变化一下才能触发界面刷新,就去战斗了一次,然后……游戏崩了。
根据分析刚才找到的也并非是真实数据源,这似乎是Unity游戏的特性。
尝试一下灵犀给出的正规路线,继续让经验发生变化。
按部就班地继续。
回答一下问题,然后继续。
灵犀似乎改变了策略,看样子是想尝试临近的数据,看是不是角色相关的数据都在一块。
之后打了一场,正好升了一级,多数属性都变了,应该更方便它查。
听他说的似乎是个好消息,那就继续战斗呗,它说有几千个值从219变化到231的地址。
最后只剩3个地址,它给这3个地址分别写了一个不同的值,理论上界面显示哪个值就应该是哪个。
这块图我没截,因为值完全没变化。然后继续。
感觉AI没耐心了,在还有700多个地址的时候AI将其分成了三组写了3种数字,不过可惜的是游戏卡崩了。
AI复盘后认下了错误,不过开始推荐其他路线。对CE这个功能我比较好奇,因为没见过这个菜单。
在我询问CE的那个功能时,AI没理我,因为它又去社区中找到了一个直接修改经验倍率的CE脚本,并且推荐。
然后我想试试能不能脱离CE来找到获取到的经验值。
争取每次都获得一个不同的经验。
它似乎找到了,那就试试,因为结算画面出来时已经获得经验了,必须得再战斗异常。
他让我多战斗几次然后报告一下大致时间和经验,我战斗了3场。
然后他开始建议我改金币了???原因也不说。
我看了一下思考过程,大致上是AI觉得查找的字段有问题,没办法了,所以提议换一个聪明得多的目标:金币。理由:
金币字段几乎必然是稳定单例(钱包不归怪物数据那种高频重建的结构管),这是 RPG 内存修改的经典突破口
金币可以随时主动变动——商店买最便宜的道具就行,不用打战斗,没有 GC 搬家时机问题,扫描-变动-再扫描可以在 1 分钟内反复做,收敛速度飞快
金币攻下后,顺着钱包所在的管理器结构往往能摸到玩家/怪物数据的引用,经验问题可能跟着一起解决
而且金币本身就是硬通货,实用价值不低
不是,你是霸总啊……都不询问我意见的吗?而且我只是想升级快一点啊,不是要钱。
中间我就不多说了,还是反反复复让数值变化然后尝试。
但最终结论是金币字段有动态密钥加密,意义不大,建议改存档或者逆向。
试了一下改存档,发现存档解密也很麻烦,可以进行尝试反汇编,但是会消耗大量时间,这个……等以后有时间了再试试吧……
总结:
和传统修改工具相比,AI修改有以下优势:
不用关心字段类型,AI会自己识别,包括开罗游戏那种需要用分组查询的情况;
无法直接查找到的值AI会自己分析,当然成功率不保障;
AI有一定的反汇编或逆向的能力,虽然成功率比不过专业人员,但是对小白来说也算是有尝试的可能了。
劣势自然也是有的:
缺少专业的追踪工具(或许能自己开发?)
直接能查找的时候,速度没有工具快(要思考)
要花费token
-->南月的发帖记录和回顾合集<--
Lv.2潜力创作者
Lv.4 核心创作者
Lv.3 优质创作者