吞食鱼吧 关注:4,233贴子:139,415
  • 20回复贴,共1

从十六进制到存档修改——吞食鱼1存档修改教程

只看楼主收藏回复

本文将会对吞1的存档文件——scoreNormal.dat文件进行一个简要的解读,相信各位读者在阅读完本文后,能够学会修改通关进度(和排行榜分数,这个倒是没啥用23333),从而使得修改时不再头疼关卡进度问题
相关截图镇楼


IP属地:安徽1楼2021-02-07 12:57回复
    一、相关技术准备
    由于这一段的排版比较复杂,并且也不是非常地重要。因此,在这里就直接贴出原文链接:https://mp.weixin.qq.com/s/2OxRzyxEwECyESy7p_XWgg


    IP属地:安徽2楼2021-02-07 13:00
    回复
      2026-02-04 02:39:47
      广告
      不感兴趣
      开通SVIP免广告
      二、正式修改教程
      2.1. 以十六进制的方式打开文件
      存档文件位于config文件夹中,文件名称为scoreNormal.dat
      以十六进制的方式打开文件的方法非常多,这里使用的是VSCode
      首先,在VSCode的扩展商店中,搜索并安装Hex Editor:

      随后就可以选择用VSCode来打开存档文件了。打开时,选择使用Hex Editor开启

      随后即可进入到编辑界面:

      左侧为此文件的十六进制码,右侧则是这些十六进制码所对应的ASCII码(注意到有很多打出来的都是".",这是因为这些字符过于特殊,在这里打不出来)
      以十六进制的方式打开了这个文件后,就可以开始进行修改了


      IP属地:安徽3楼2021-02-07 13:03
      回复
        2.2. 排行榜的修改
        我们首先注意到,右侧出现了数次"Andy"。用鼠标拖动选中右侧的第一个"Andy",发现左侧对应的十六进制码也被选中了:

        这便是0x41、0x6E、0x64和0x79所对应的四个字符:A、n、d、y
        为什么这里会出现这么多名字?文件名为scoreNormal,这似乎代表着这个文件包含了排行榜信息,因此,打开游戏去排行榜看一眼:

        果然,从第一名到第十名,全是Andy。对应地,十六进制文件中也能解析出十次"Andy"
        现在,注意到每两个"Andy"之间,都间隔了连续12字节的0x00和4个字节的其他内容。例如,从第一个Andy到第二个Andy之间的十六进制码为:
        41 6E 64 79 00 00 00 00 00 00 00 00 00 00 00 00 B8 0B 00 00

        根据试验,前16字节(41 6E 64 79 00 00 00 00 00 00 00 00 00 00 00 00)表示的是排行榜上的名字,而最后4字节(B8 0B 00 00)则表示的是分数
        根据小端存储的特性,现在来以二补数类型的形式,认读一下最后4字节。在python中输入:
        >>> int(0x00000BB8)
        得到结果:3000

        这便是排行榜中的,第一名的分数
        了解了这个原理,我们就可以很容易地修改用户名和分数了。例如:

        再次打开排行榜,就可以看见:

        名字和分数都被修改了
        注意这里的数字是二补数类型,因此对应二进制的最高位不能为1(否则会变为负数),即解读数字时,第四组的第一位十六进制不能大于7


        IP属地:安徽4楼2021-02-07 13:11
        回复
          2.3. 关卡进度的修改
          最令人关注的关卡进度,其实也在这个文件中。它位于排行榜中的第一名前的最后四个字节中:

          其本身也是以4字节的二补数方式来解析的。这里,排行榜第一名前的最后四位为01 00 00 00,按二补数解读出来的结果就是1。由于0表示第一关,则1便表示第二关。现在打开游戏,就能看到解锁到了第二关

          这个数字可以继续加大,例如,改为20 00 00 00时,就解锁到了第33关(0x20 + 1 = 33):


          以此类推。值得注意的是,这个数字可以超过总关数,例如:FF FF 00 00,这样的结果依旧是解锁了全部关卡。但这个数字不能是负数(最后一组的第一位大于7),因为如果是负数的话就会回到第一关重新开始


          IP属地:安徽5楼2021-02-07 13:13
          回复
            以上就是关于存档修改的简易教程,最后,感谢@贴吧用户_09UDK2y 在官方群里分享的存档文件,没有这个分享,我至今也不知道存档文件是哪一个(捂脸)


            IP属地:安徽6楼2021-02-07 13:13
            回复
              太强了太强了


              IP属地:四川来自Android客户端7楼2021-02-07 14:02
              收起回复
                TQL TQL


                IP属地:浙江8楼2021-02-07 18:20
                收起回复
                  2026-02-04 02:33:47
                  广告
                  不感兴趣
                  开通SVIP免广告
                  太强了


                  IP属地:广东9楼2021-02-08 08:24
                  收起回复
                    太棒了


                    IP属地:河北来自Android客户端10楼2021-02-08 18:47
                    收起回复
                      太强了


                      来自Android客户端11楼2021-02-08 21:07
                      收起回复
                        我还在幻想吞1能不能找出原理像吞2那样在游戏进行途中存档


                        IP属地:江苏12楼2024-01-24 08:46
                        回复