1、前言
用于研究,学习
2、工具准备
UABE: 地址:https://github.com/DerPopo/UABE/releases
AssetStudio/UnityStudio 地址:https://github.com/Perfare/AssetStudio/releases
apkTool(非必需) 地址:https://ibotpeaches.github.io/Apktool/
Edit with Notepad++ 地址:https://notepad-plus-plus.org/download/
dnSpy:C#反编译工具:https://github.com/0xd4d/dnSpy
安卓签名工具(自备)
前期处理
按zip压缩包正常解压
3、替换图片资源
1:使用AssetStudio/UnityStudio找打开项目,Asset List页面下,预览并找到你要修改的文件,左键选中,右键->show original file 并找到所属文件。
2:使用UABE打开该文件,找到需要修改的资源,选中->Plugins->Edit->Ok->Load->选中需要替换的图片->OK->OK->覆盖原始文件会导致保存失效,另存为新文件。
注意:部分资源有sharedassets3.assets.split*这种资源
如果使用AssetStudio/UnityStudio查看则指向sharedassets3.assets文件,资源替换方式相同,替换完成后,删除所有的sharedassets3.assets.split*
4、替换配置表/TextAsset
1:预览并找到你要修改的文件,左键选中,右键->show original file 并找到所属文件。
2:使用UABE打开该文件,找到需要修改的资源选中->Plugins->Export to .txt->ok->桌面(或者任何你可以找到的地方)->保存。
3:使用记事本/Edit with Notepad++ 打开你刚保存的xxx.txt文件,你就可以根据你的需要修改配置表了。(一般的配置表会是以json、excel、等格式,推荐使用Edit with Notepad++ 打开文件,有排版看着更舒适)。
4:修改好文件后,切换回UABE,选中之前那个文件->Plugins->Import from .txt->ok,文件保存好后手动替换源文件,直接覆盖会导致文件写入失败。
5、替换界面文字/界面UI描述
此处需要-任意十六进制编辑工具
此处由于资源无法预览,若有多个text,则难度加大
1:AssetStudio/UnityStudio 下Scene Hierarchy界面下确定资源文件名称。
2:使用UABE打开该资源,寻找到你需要修改的文件(修改text组件下的文字,即任何文字或者描述,文件类型一般为MonoBehaviour),选中->Expor Raw->保存(为***.dat文件)
3:使用任意十六进制编辑器打开导出的文件,进行编辑,可编辑文字的范围为:
(文件头+0xF0 至 文件尾-0x90) 中间的部分。注意不要破坏除这部分的其他任何数据,并且该范围内文字的换行需保持0x0A。
4:完成编辑后,计算这段范围的新长度,并写入到字符前的4个byte地方填入新尺寸。
5:导入资源,选中原文件->Import Raw->ok,文件保存好后手动替换源文件,直接覆盖会导致文件写入失败。
6、重新签名/打包:
替换签名文件两种方法,一种直接删除META-INF,按常规zip压缩为apk并签名或者使用apktool压缩并签名。一种为删除META-INF\下的CERT.RSA及CERT.SF(修改编辑META-INF\MANIFEST.MF(使用Edit with Notepad++ 打开),删除里面所有的你修改过的文件名及对应的SHA1-Digest),然后按常规zip压缩为apk并签名或者使用apktool压缩并签名。
7、安装/测试
从签名好后直接安装到手机上测试即可,若闪退,检查签名是否成功。
8、Unity游戏启动页面
res/drawable/unity_static_splash.png