深海水族馆吧 关注:16,055贴子:61,521

深海水族馆魔改通用教程

只看楼主收藏回复

仅供编程学习交流,请勿传播或损坏游戏公司权益


IP属地:江苏来自iPhone客户端1楼2025-07-02 23:16回复
    本教程针对有编程基础的朋友,前置需求:gg修改器功能简单了解即可,了解编译,指针,地址,寄存器等计算机知识。 环境:模拟器内安装深海水族馆,模拟器开启root,安装x64的gg修改器。


    IP属地:江苏来自iPhone客户端2楼2025-07-02 23:20
    回复
      2025-08-10 13:36:59
      广告
      不感兴趣
      开通SVIP免广告
      第一步:查找一条【可创建】的鱼在显示界面的变量存储地址,使用最基础的迭代搜索即可,例如我搜索活动界面的水晶海胆,找到了该值的地址。修改后,UI值随之变动。


      IP属地:江苏来自iPhone客户端3楼2025-07-02 23:30
      回复
        第二步:转到地址附近,查看数组结构。第三行+第四行是指针,我已经查过了,指向的地址没有用,上级指针也没用。第五行的值比较可疑,既不是指针头,也不像正常数值,通过对比上下内存,看到该值以+1或-1方式变动,确认为海胆的物品id。第六行是物品的显示值,第七行是物品在水族馆中的展示数量,第八行是flag,0代表未解锁,2代表解锁。注意这个解锁变量,虽然改变它的值是暂时解锁,但你创建出鱼之后就永久解锁了活动再也不用坐牢点广告了。至此 可以总结出部分数组结构,这部分结构可用于修改鱼的解锁状态,以及【可创建】的鱼的数目。


        IP属地:江苏来自iPhone客户端4楼2025-07-02 23:39
        回复
          接着分析游戏的架构,我修改了上下未解锁鱼的数量以及解锁状态,在该次游戏中,这些鱼是解锁且可放置状态,数量和我修改的数量相同。重启后,鱼的数目归0,解锁状态变为0。可以推测,游戏使用存档写入+UI动态数组分配来实现物品存储和展示,具体逻辑是:程序初始化的时候读取存档文件,生成一个动态的列表,里面存有每种鱼的id和数量,解锁情况等,该列表在游戏运行过程中等同于游戏内容。当对一个鱼进行【创建】操作后,将动态列表中对应id的一块数据写入存档,做持久化保存。因此,我们无法通过只修改动态列表的值来获得鱼,在修改完后,仍需要对该类型的鱼做一个【创建】操作,触发写入存档。


          IP属地:江苏来自iPhone客户端5楼2025-07-02 23:47
          回复
            我尝试了将海胆这块内存的物品id改为其他id,然后再执行创建动作。但程序没找到id的话会再使用一块新内存,重新为海胆计算数量,且会导致图鉴损坏,所以不要这么做。推测程序是使用哈希表存储而不是普通数组偏移寻址。


            IP属地:江苏来自iPhone客户端6楼2025-07-02 23:52
            回复
              虽然我们无法从物品数量上修改,但可以从【创建】动作下发的变量上修改,创建海胆的界面有三个值:创建数目;钻石;活动币。钻石活动币和珍珠这些数据我还没找到是怎么存的,所以暂时略过,直接迭代搜索创建数目就能找到唯一地址。


              IP属地:江苏来自iPhone客户端7楼2025-07-02 23:56
              回复
                转到地址,在附近划一划,忽略指针变量,在不远处找到了我们的物品id~


                IP属地:江苏来自iPhone客户端8楼2025-07-02 23:59
                回复
                  2025-08-10 13:30:59
                  广告
                  不感兴趣
                  开通SVIP免广告
                  成功借用海胆的创建界面创建出了编号为2400的鱼,至此,我们已经可以获得图鉴内的所有鱼类了至于后续是手动还是写脚本,大家自己操作吧
                  钻石和珍珠啥的后面有时间再看看吧,主要他这个变量太诡异了,抓不到,不知道是被加密了还是用什么特殊方式存的。不过百分网自带内购破解的话感觉没什么必要了


                  IP属地:江苏来自iPhone客户端9楼2025-07-03 00:03
                  收起回复
                    怀疑钻石和珍珠这类货币被加密了...但我也找到其他无限刷的方法了。
                    珍珠:通过小鱼缸喂食,找到经验值地址,往上翻可以找到领第几个奖励的变量,直接冻结到珍珠的位置,写脚本一直领就行了。
                    钻石:成就系统,可以通过点击数找到点击量的成就,改一个很大的数,然后收一下成就,每加一颗星附近的一个变量就会+1,找到对应的变量,冻结在3颗星,就可以无限在该成就领150钻。使用连点器获得速度非常快。


                    IP属地:江苏来自iPhone客户端10楼2025-07-05 00:44
                    回复
                      PS:小鱼缸还有汽水奖励,这是唯一一种钻石难以转换的货币(商店刷太折磨了),想刷也可以刷一下。
                      我还在试验全鱼脚本,目前发现id340附近可能有异常的物品鸭嘴兽,会导致图鉴出小问题。后续有空再更扩张物修改方法。


                      IP属地:江苏来自iPhone客户端11楼2025-07-05 00:47
                      收起回复
                        已圆梦


                        IP属地:江苏来自iPhone客户端12楼2025-07-06 13:45
                        回复
                          全图鉴好羡慕


                          IP属地:江苏来自iPhone客户端13楼2025-07-07 05:12
                          回复
                            水族馆经典的架构和原版比,修改难度直线上升,他把创建鱼的参数封装在指针里还加密了但是没有关系,照样能改鱼,如果有人想看我可以讲一下这个


                            IP属地:江苏来自iPhone客户端14楼2025-07-07 20:25
                            收起回复
                              2025-08-10 13:24:59
                              广告
                              不感兴趣
                              开通SVIP免广告
                              ios是不是无缘


                              IP属地:加拿大来自iPhone客户端15楼2025-07-10 09:01
                              收起回复