Unity手游汉化笔记①:UABE+AssetStudio编辑MonoBehavior类型Asset

总的笔记:https://www.cnblogs.com/guobaoxu/p/12055930.html


目录

一、使用工具

二、具体操作

【1】利用AssetStudio进行预览

【2】UABE修改之一:对DUMP文本进行修改

【3】UABE修改之一:对RAW进行修改

正文开始:
  汉化过程中需要对MonoBehavior类型的Asset进行修改,主要是修改Text对象的预设文字,也就是正向开发中,在Inspector里面输入的文字,一般是那些固定的、不会变的文字,另外还有对TextMeshPro使用的字体也需要进行MonoBehavior的修改。

一、使用工具:

  AssetStudio(地址:https://www.perfare.net/tag/assetstudio

  UABE(地址:https://7daystodie.com/forums/showthread.php?22675-Unity-Assets-Bundle-Extractor

二、具体操作:

示例DEMO:我用Unity直接做的,什么都没有,只在屏幕上有一个Text,上面写着“在Inspector的文本”

【1】利用AssetStudio进行预览

  这个比较简单,把apk用解压工具解压,然后用AssetStudio加载assets\bin\Data文件夹,在第一次查看MonoBehavior类型的Asset的时候,需要加载保存DLL的文件夹,如果是Mono脚本后端,DLL存放在Data/Manager文件夹下,如果是il2cpp脚本后端,需要先用il2cppdumper工具得到DLL(https://www.perfare.net/tag/il2cppdumper

  如果操作正确,那么在AssetStudio的右侧预览中可以看到Text的参数列表,在Inspector中设置的文本也在,如下图所示。右键Show Original File发现该MonoBehaviour在level0文件。我对AssetStudio做了点小修改,直接在页面右下角打印了文件名+PathID,会方便的多。

【2】UABE修改之一:对DUMP文本进行修改

  注意,UABE也是需要DLL才能正确得到DUMP文本的,所以如果是il2cpp脚本后端,也需要上一步中导出的DLL。

① 用UABE打开上一步中确定的level0文件,找到刚才的MonoBehaviour

② 点击右侧Export Dump,会弹窗提示,这时候点击“是”,然后给他选择所需要的DLL就可以了,然后就提示保存的位置了,保存好Dump的文本。

  注意,不一定能找到所有的DLL的,事实上有很有预设资源也是MonoBehavior类型,他们指向的类可能没有被编译进来(因为不需要),只需要保证要改的MonoBehavior指向的类所在的DLL有就可以了。我的示例是Mono脚本后端,有一个特点是他的DLL会放在Data\Manager文件夹下,UABE会自动现在这个文件夹下找,找不到的才会弹窗要。还有选完DLL会有个小黑窗出来一会会儿。

③ 用Sublime Text打开DUMP文本,也可以用其他的编辑器,但是一定要可以用UTF-8编码,修改完保存。

④ 回到UABE,右侧Import Dump,选择编辑过的文本,点击ok保存

  注意,UABE只能另存为,也就是说你不能直接保存回源文件,而是要保存到另一个地方,然后在复制粘贴覆盖回去

⑤ 压回源文件,进行重新签名或者做针对其他安全机制的操作,我的示例APP直接用Unity导的APK,根本不需要任何针对安全机制的操作,改完直接就能安装_(:з」∠)_

操作正确的话结果如下

【3】UABE修改之一:对RAW进行修改

  所谓RAW就是直接DUMP出编译后的内容,然后直接对二进制文件进行修改,这种不需要DLL,要通用的多,我在实际应用中遇到过UABE不吃il2cppdumper得到的DLL的情况。

① 还是用UABE打开第一步得到的level0,还是刚才那个MonoBehavior

② 右侧Export RAW,这次就不需要DLL了,然后用可以编辑十六进制的工具打开得到的dat文件,我用的是010 Editor,要修改的字符串在该文件的最后

 ③ 修改字符串

  字符串写入的规则是,

    (1) 用UTF-8编码成byte

    (2) 写入byte数目,32位整数,小端模式

    (3) 按顺序放入byte

    (4) 补零,使得当前位置向4byte对齐,也就是当前位置对4byte取余为0

  按照这个规则修改上面的字符串,如下

④ 回到UABE,右侧Import RAW

⑤ 保存写回

最终效果如下:

猜你喜欢

转载自www.cnblogs.com/guobaoxu/p/12059225.html
今日推荐