碧蓝航线r吧 关注:7,140贴子:21,582
  • 12回复贴,共1

【反和谐补丁制作】哈尼也能学会制作船名反和谐补丁

取消只看楼主收藏回复


== 背景知识 ==
* 碧蓝航线是使用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卡下的相应目录。
注意备份文件。
应用补丁后大概是这个样子


IP属地:山东1楼2017-07-24 17:19回复
    这个反和谐补丁只用于日本船名,只应用于安卓客户端。
    UnityEX大概也可以制作,你们可以试试。
    以后我发布反和谐补丁会发布在这个帖子里。
    之前发布的补丁见【反和谐补丁】高雄肯特立绘&&日系船名反和谐
    贴吧/p/5181880703


    IP属地:山东2楼2017-07-24 17:22
    收起回复
      之前讲的修改脚本的操作是有问题的。
      你可以直接使用我提供的修改后的脚本(name_code.lua.txt),
      但如果要自己修改的话,要按照下面来操作。
      === 修改脚本 ===
      使用Notepad++打开刚才导出的txt文件。
      在『编码』菜单中选择『以UTF-8无BOM格式编码』,将当前文件以UTF-8编码显示。

      我们可以看到每一个日本船名都有一组id、name、code。
      以“高雄级量产型”为例,有
      {
      id = 't'
      name = '高雄级量产型'
      code = '獒级量产型'
      }
      我们需要按照name来修改code,也就是把『獒级量产型』改成『高雄级量产型』。
      但是单单这样修改是不够的。
      我们可以看到原文是『nameETB高雄级量产型codeDC4獒级量产型』。
      这个【ETB】和【DC4】是两个字节分别记录了后面字符串的长度,也就是“高雄级量产型”和“獒级量产型”的字符串长度。
      因此我们在修改code的时候,除了要修改文本,也要修改【DC4】这个字符。
      修改后应当为『nameETB高雄级量产型codeETB高雄级量产型』。
      如下图


      其他船名也是相同
      修改完所有船名后再按照后面的操作继续进行,将修改后的txt导入到scripts中。
      其实这种直接修改文件的方法我没有尝试过,这是别人告诉我的方法。
      我在做反和谐补丁的时候如前面所说是“将导出的txt反编译为原来的脚本,修改后重新编译脚本”。
      之所以需要告诉大家这种修改方式是为了应对当船名有增加的时候,
      比如最近一个月有增加“初风”和“球磨级量产型”两艘船的和谐名。
      但一般情况下,我还是推荐大家直接使用我提供的修改后的脚本(name_code.lua.txt)
      (百度网盘/s/1mimNJYS 密码: jfyi)


      IP属地:山东14楼2017-07-25 10:37
      收起回复
        =====8月2日更新======
        用于8月2日更新后的客户端

        百度网盘/s/1jHM4aUy


        IP属地:山东20楼2017-08-02 11:23
        收起回复
          =====8月3日更新======
          用于8月2日23点更新后的客户端

          百度网盘/s/1o7FAux0


          IP属地:山东21楼2017-08-03 09:56
          收起回复
            =====8月6日更新======
            用于8月6日01点更新后的客户端

            百度网盘/s/1eS6D97s


            IP属地:山东27楼2017-08-06 14:40
            收起回复
              =====8月10日更新======
              用于8月9日更新后的客户端

              网盘/s/1gf7XMQB


              IP属地:山东30楼2017-08-10 09:10
              收起回复
                =====8月18日更新======
                用于8月17日17点15分更新后的客户端

                网盘/s/1nv0u3rF
                重申:当碧蓝航线更新文件后,请务必下载新的反和谐补丁并使用,或者暂时不进行反和谐。
                若你仍使用旧的反和谐补丁来覆盖,一是你不会体验到游戏更新的内容,
                二是使用旧版本的scripts文件可能会使你的战斗数据异常,进而造成官方判定你在进行作弊。
                例如客户端更新了战斗机的投弹伤害的计算公式,而你使用旧的补丁,仍然在使用旧的伤害公式,官方可能会检查到你的战斗伤害数据有异常。


                IP属地:山东31楼2017-08-18 10:22
                收起回复
                  =====8月22日更新======
                  用于8月22日17点00分更新后的客户端

                  网盘/s/1pL5Gv0n
                  另:从7-24到现在,name_code.lua没有增加新的内容


                  IP属地:山东32楼2017-08-22 18:28
                  收起回复
                    === 8月24日 ===
                    用于8月24日18:00更新后的客户端

                    网盘/s/1i5BsxCh


                    IP属地:山东37楼2017-08-25 11:08
                    收起回复

                      然而我已经濒临弃坑


                      IP属地:山东60楼2017-09-28 19:39
                      收起回复


                        IP属地:山东70楼2017-10-28 11:21
                        回复


                          IP属地:山东82楼2017-11-10 09:19
                          收起回复