前言
一开始毫无头绪……文件在哪找也不知道。查看案例作品后,才发现原来并不难啊,而且才发觉要多多寻求度娘的帮助!于是即刻开始。
游戏闪退
一开始打开就闪退,于是调了兼容性Windows 7,而后打开游戏就没有闪退了。
修改关卡
输入我的名字之后,发现目录下创建了一个新文件夹userdata,里面有新建的用户文件users.dat,用Hex Editor打开查看其二进制代码:
原来最前面的20字节存放的内容就是用户名。
但是这数据明显与我的目标不符呀——我改这个用户名也没用啊?想起刚创建用户才有了这个文件,我就猜想:是不是要打过第一关才会有对应的文件产生呢?说干就干,打完果然出现了一个新的文件user1.dat
打开后长这样:
除了第一行两个值之外 全部都是0。于是我开始试着修改这些非零的数据——
把02改成03试试看:
果然关卡就变成了1-3。于是我再尝试其他数据:
20对应了4-2。经过几次尝试,关卡终于调到了5-1,对应六进制码为29。
修改金钱
打开商店一看……哎呀,身无分文。还是先玩一局吧。
嫌游戏太慢于是百度下载了一个变速齿轮开始加速!
收集到$10,立马查看文件变化:
想必这就是金钱所代表的数字了。二话不说,改起来……
哦豁——变成了$0。
难不成是倒着的?再来:
这下好了~不过最后一位数似乎是没办法的……因为默认要乘以10。那就10240吧~
结合以前学C语言的知识,其实机器内部存储是从低位读取到高位的,也就是说,在这里,08位对应2进制的低位(后8位),而09位对应的是2进制的更高位(第9~16位)。
此时发现多了个文件:
跟没改之前是一样的一个文件,可能是用于游戏卡退然后可以复原?看名称的话应该是这个用途了。
继续探索解锁两个模式的对应位置
想着04是关卡,后面三个好像还没有用到过,会不会是相应的模式呢?试试看:
好像并不是……尝试了010203发现也没有用。于是……网上搜索了一下哪些关卡解锁这两个模式——4-6解锁“解谜模式”,5-10解锁“生存模式”。
那就开始吧……
分别打完之后找到变化了的数值(Offset:300, 04)和(Offset:0, 0C),会变成01,于是把关卡、金钱初始化,然后改变这两格的值为01,大功告成~
最终效果
- END -