== 背景知识 ==
* 碧蓝航线是使用Unity引擎开发的,因此我们需要对Unity文件的拆包封包。
* scripts文件是一个unity文件,里面包含了游戏的主要脚本文件。
* 我们可以通过修改游戏脚本,进而实现游戏的反和谐。
* 因为scripts文件是游戏的脚本,因此会随客户端更新而更新。反和谐补丁也要随之不断更新。
* 进一步修改scripts中的脚本文件可以实现游戏作弊,但本教程不会包含这一部分。
* 研究、制作、发布scripts的反和谐补丁,违反游戏的用户协议。
* 根据官方的说法,碧蓝航线【目前】通过检查通信数据异常来检测作弊、外挂和恶意篡改游戏。
* 官方的这种检测手段是检测不到立绘魔改和本教程的反和谐的。
* 客户端更新后,若用户仍使用旧版本的scripts文件,有可能会造成通信数据异常,进而被检测为恶意篡改游戏。
* 官方保留对立绘魔改和船名反和谐处罚和追责的权利。
== 免责声明 ==
* 本人不对任何玩家研究、制作、发布反和谐补丁中违反游戏用户协议、违反法律法规的可能行为承担责任。
* 本人不对任何玩家研究、制作、发布反和谐补丁中,玩家被游戏运营商处罚和追责造成的损失承担责任。
* 本人不对任何玩家因使用反和谐补丁而被游戏运营商处罚和追责造成的损失或其他任何损失承担责任。
== 工具材料 ==
* 拆包封包 - Unity Assets Bundle Extractor
(链接: https://pan.baidu.com/s/1qXB0UKW)
* 文本编辑器 - Notepad++
(https://notepad-plus-plus.org/download/)
* 修改后的脚本文件 - name_code.lua.txt
(链接: https://pan.baidu.com/s/1mimNJYS 密码: jfyi)
== 详细步骤 ==
=== 获取文件 ===
在手机中找到游戏的文件夹
『存储空间/Android/date/com.bilbili.azurlane/files/AssetBundles』。
如果游戏安装在SD卡,则为SD卡下的相应目录。
找到当前客户端最新的scripts文件,拷贝到电脑。
=== 打开scripts ===
运行UABE,菜单栏 ->File ->Open ->打开你要编辑的scripts文件。
弹出对话框询问『这个unity文件是经过压缩的。是否要解压?』
选择“是”,然后在弹出的对话框中保存一份解压的文件。
这样UABE就打开了unity文件。
点击按钮『Info』,弹出下图所示的『Assets Info』窗口。
①菜单栏 ->View ->Search by name
②在弹出的『Search』对话框中输入*name_code*,点击确定
③这样定位到name_code.lua
=== 提取脚本并修改 ===
提示:你也可以跳过这一步,直接使用我提供的修改后的脚本(name_code.lua.txt)
在『Assets Info』窗口中选中name_code.lua,点击Plugin按钮。
在弹出『Plugins』对话框中选中『Export to .txt』,点击OK,并保存txt文件。
使用Notepad++打开刚才导出的txt文件。
在『编码』菜单中选择『以UTF-8无BOM格式编码』,将当前文件以UTF-8编码显示。
启用自动换行后,向下滚动,你可以看到每一个日本船名都有一组id、name、code。
其中name是船本来的名字,code是船和谐后的名字。
这样你只需要照着name修改code就可以了。注意对应关系。
比如把『獒级量产型』改成『高雄级量产型』。
修改完毕后保存文件。
其实我在做反和谐补丁的时候是将导出的txt反编译为原来的脚本,修改后重新编译脚本。
反编译需要配置很多东西,且绝对有人学了反编译之后会想去修改其他脚本内容甚至作弊,所以我就不在这里介绍如何反编译了。
=== 生成补丁 ===
在『Assets Info』窗口中选中name_code.lua,点击Plugin按钮。
在弹出『Plugins』对话框中选中『Import from .txt』,点击OK。
选中刚刚修改保存的txt文件并导入。
在『Assets Info』窗口中点击OK按钮。
弹出对话框询问是否保存修改,选择『是(Y)』。
最后我们在UABE的菜单栏 ->File ->Save ->将修改后的文件另存为。
可以看到修改前的文件是1.7M,解压和修改后的文件都是13M。
这是因为UABE不会对修改后的unity文件进行压缩。
scripts文件没有压缩一般不会产生影响。
=== 安装补丁 ===
最后我们将修改后的文件重命名为scripts,拷贝到手机,覆盖到它原来的位置。
在手机中找到游戏的文件夹
『存储空间/Android/date/com.bilbili.azurlane/files/AssetBundles』。
如果游戏安装在SD卡,则为SD卡下的相应目录。
注意备份文件。
应用补丁后大概是这个样子