需要用到的工具:dnSpy(反汇编编译工具),jeb(安卓逆向),AssetStudioGUI(游戏资源提取)
先给个替换游戏资源的效果图
至于原图呢。。。就是左上角的图标。。
步骤很简单,把恐怖之森的assets文件拖入AssetStudioGUI中
找到想要替换掉资源,用自己的资源替换即可(音频也可以替换)
unity3D游戏你想一般是直接利用dnSpy反编译这个Assembly的dll文件
打开后就可查看反编译代码
在对应代码处右键点击编辑即可编辑代码。这个游戏初始电池是1+3个(前面的截图有显示),battery指的是还未使用的电池数量。
修改成9并保存修改后重新载入游戏。可以看到电池变成了1+9个
继续看代码,发现程序对mode变量进行校验,如果mode==4就可直接通关。这些参数都可手动修改,包括AI的速度,玩家速度等.......
以[MRCTF2020]PixelShooter这道题为例
题目链接:https://buuoj.cn/challenges#[MRCTF2020]PixelShooter
apk文件,在雷电模拟器中打开。是射击游戏,猜测需要达到一定的分数才能flag
用jeb分析该apk文件,一打开就注意到了unity3d
于是导出了位于Assets/bin/Data/Managed的Assembly-CSharp.dll文件
用dnSpy打开,在UIController中找到了明文flag