欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

修改游戏进度的保存路径(非菜鸟可以直接略过)

修改游戏进度的保存路径(非菜鸟可以直接略过)

【文章标题】: 修改游戏进度的保存路径
【文章作者】: windale
【下载地址】: 游戏运行所需文件过大,不提供下载
【作者声明】: 本人菜鸟一个,此文章没有技术含量,只是叙述了一下思路。希望对其他菜鸟和新手有所帮助!
--------------------------------------------------------------------------------
【详细过程】
World Of Goo是一款独具创意的益智游戏,并且画面和音乐的制作都相当精致。由于我安装了影子系统,电脑重启之后游戏的进度就丢失了。我使用的是单一影子模式,仅对系统盘执行保护,所以断定游戏的进度肯定是存放在系统盘中。按照常规,相关文件应该会保存在C:\Documents and Settings\All Users\Application Data里面。结果不出所料,C:\Documents and Settings\All Users\Application Data\2DBoy\WorldOfGoo里面有个pers2.dat文件,应该就是游戏进度数据了。如果能将文件保存的路径改在非系统盘下,就不会丢失进度了。不知道会不会很难,先试试再说!
于是先用PEiD查壳,结果没有加壳,省去了脱壳的麻烦,编译器是Microsoft Visual Studio .NET 8.0。
然后用OD载入。先把pers2.dat文件给删掉,程序发现文件不存在就会创建一个新的。输入命令bp CreateFileA下断。可是中断之后,程序始终在系统领空,跳不出来。于是考虑别的办法。因为文件名pers2.dat应该是固定的,所以在程序中应该会出现相应的字符串。使用插件Ultra String Reference -> Find ASCII,之后在结果中查找字符串"pers2.dat",果然找到了。而且在其上方依次有字符串"\2dboy"、"\worldofgoo"和"\",看来此处附近就是执行文件操作的代码。双击其中的一个,来到了这个位置:

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功