记录修改一款基于Godot引擎的扫雷游戏

前言

工具:GDRETools/gdsdecomp: Godot reverse engineering tools

需求:

  • 点击掀开的格子切换标旗或扫雷模式
  • 去除重开时的确认对话框
  • 去除广告
  • 掀开的格子在标旗模式换成绿色

解包

直接将apk拖进GDRE中,选择解包路径后单击Extract按钮

image-20251015113506387

修改

前三个需求直接修改代码逻辑就可以

需求1

切换标旗模式的函数:

image-20251015113640650

分析代码,可以直接写在weeper函数里

image-20251015113908921

需求2

重开需要单击emoji按钮,找到对应的回调函数

image-20251015114025731

发现这里显示了Restart框,找到对应Yes按钮的回调函数

image-20251015114135306

然后上面直接改为调用这个函数即可,如图:

image-20251015114219827

需求3

游玩过程中,发现重开时有概率显示广告,或者棋盘下方也可能出现广告

对应重开函数中的下方:

image-20251015114348355

Admob脚本

image-20251015114544923

观察到其中ready函数的逻辑,有一个去广告的配置,这里可以直接给一个为假的条件,使if语句不执行

需求4

观察textures文件夹,可推测每个格子都是图片绘制出来的:

image-20251015114756063

如果我们需要修改格子的颜色,可以直接替换资源。

给这个图片改个颜色,命名为0_1.png,利用Godot引擎生成新的资源,并导出

image-20251015114918777

可找到两个文件:

image-20251015114951689

把它们都按打包进apk即可。

以下是脚本中的修改

根据AI的提示,对切换模式的函数做出如下修改:

image-20251015115428647

同时,ready函数中也需要做出修改,修改如下:

image-20251015121646329

完成所有修改后保存

打包

编译脚本

首先要把修改后的脚本编译好,利用GDRE的Compile功能

image-20251015115737147

弹出如下窗口:

image-20251015115810608

选择好字节码的版本号,在GDRE的输出窗口会有提示版本号,随后选择输出的目录,最后单击Compile按钮,提示编译成功

签名

把编译好的gdc文件复制到apk里,替换掉原有的,最后给apk重新签名,就可以安装了

image-20251015121627118

(完)