[Hack] Mush.release.packを書き換える

Mush.releaseとは

メガホンレーザー解禁の手順とやることは同じですが、ちょっと詳しく解説する感じになります。

なにやらコメントで「4.8.0はMushの置き換えができない」ときいたので本当かどうか試してみることにしました。

アップデータであるNCAを展開してできるフォルダには実行ファイルであるexefsとデータであるromfsがあります。

そのromfsにあるpackフォルダ内にMush.release.packがあり、そこでブキなどの全てのパラメータが設定されています。

最新のアップデータのブキパラメータを知るためにはまず最新のアップデータを取得しなければいけません。

アップデータはHACGUIを使うのが最も手っ取り早いです。これでアップデータをNCA形式で抽出することができます。

ただし、公開されているHACGUIはFW6.2.0までしか対応していません。

それ以上の方は現状諦めるか、ダウングレードして実行してください。

Mush.release.pack

NCAはtitle keyで暗号化されているのでhactoolを使って復号します。

本家のhactoolは64bitにしか対応していないので32bit向けにビルドした記事を載せておきます。

hactoolの使い方は気が向けば書きますが、期待しないでください。

さて、hactoolでNCAを復号すると “romfs/Pack”に以下の五つのファイルがあるのがわかります。

五つのファイル

.packとは書いてありますが、実際には非圧縮のSZS(つまり.sarc)のようです。

つまり、sarc_toolを使って展開できるということです。

展開するのはドラッグアンドドロップでもいいですし、コマンドでもいいでしょう。

Mush.release.packの展開に成功

いろいろなファイルがありますが、暗号化の方式が変わったためにいくつかのファイルはひらくことができません。

ひらくことができるファイルは以下の六つです。

  • GearInfo_Clothes.release.byml
    • フクのギア情報
  • GearInfo_head.release.byml
    • アタマのギア情報
  • GearInfo_Shoes.release.byml
    • クツのギア情報
  • MapInfo.release.byml
    • マップ情報(中を見てないのでよくわからない)
  • NpcInfo.byml
    • NPC情報(よくわからない)
  • WeaponInfo_Main.release.byml
    • ブキに与えられるSPの種類などのパラメータ

まあ基本的にはWeaponInfo_Main.release.bymlが弄れたらそれでいいでしょう。

BYML復号

BYMLはBPRMと構成が全く同じなので同様の方法で復号することができます。

やり方は以下の記事で書いてあるのでどうぞ。

復号したXMLをひらくとこんな感じでパラメータが設定されているのがわかります。

スペシャルの種類を変えたければSpecialの項目を変更すれば良いわけです。

今回はスプラマニューバーのスペシャルをメガホンレーザーに変えてみようと思います。

ついでにボムをスプラッシュボムに変えて、スペシャルコストも0にしてみます。

全てのブキのスペシャルをxmlを弄って0にするのは面倒ですが、IPSwitchを使えば一発でできるので興味がある方はどうぞ。

やってみた

リパック(再圧縮)せずに置換する方法もあるのですが、今回はリパックしてチャレンジしてみることにしました。

リパックはSwitch-Toolboxを使う方法とsarc_toolを使う方法があるのですがどちらも試して更にファイルサイズがどうなるかについても調べました。

単純にファイルを開いてそのツールで保存した場合のファイルサイズの違いを調べました。

サイズ動作
元ファイル1,220,344 bytes
Switch-Toolbox1,220,144 bytes
sarc_tool1,219,960 bytes
-compress N851,403 bytes … etc不可

Switch-Toolboxは “457e4f68085e5d49c727c2857fbc1f4c61ab7c30” を使用しています。

起動不可

Switch-Toolbox, sarc_tool共に元ファイルから少しサイズが小さくなりましたが、動作することを確認しました。

sarc_toolの方は圧縮率設定をするとN=0を指定しても起動しなくなりました。圧縮率は設定しないのが無難でしょう。

File->Save Asから保存した

ちなみに保存場所は “/atmosphere/titles/01003BC0000A0000/romfs/Pack/” ですね。

タイトルIDはUS版のスプラトゥーン2なので国内版は知りませんが…

動作チェック

4.8.0でMush置換成功

今まで通りあっさりと置換できてしまいました。

あっさりすぎて特に何も感慨深くなかったのですが、自分で移植したOffline Shopのコードが間違っていたので修正しました。

// Offline Shop [Zewia]
@enabled
014D34E8 200080D2

オフライン状態だとショップに入れないのですが、このコードを有効にすれば入れます。

なんでこんな事をしたかというと、SplatHexが4.8.0に対応していなくてブキを変更することができないんですよね。

自分で改造してもいいんですが、面倒なのでまあ普通にブキ開放すればいいやってなりました。

最後に

スプラのハックがめんどくさくなったのはまあ単に関心がなくなったのといつまで経ってもカスタムステージがリリースされないからですね。

あとは、コードを見つけてもアップデートのたびにころころ変わるので移植がめんどくさいというのもあります。

Splatoon-2-Misc-Patchesも4.4.0から全く更新されていないのでシーン全体としてちょっと停滞気味なのかもしれませんね。

ちなみに、報酬がないからやる気がないだけでモノがもらえるならあっという間に解説記事書くのでよろしくおねがいします。

シェアする

『[Hack] Mush.release.packを書き換える』へのコメント

  1. 名前: 投稿日:2019/06/09(日) 16:37:06 ID:bc87e8ad4 返信

    自分notepad++ってやつ使っててspecial cost = 170みたいなのを10ずつ増やして = 0に置換してく方法でやってますw

  2. 名前:匿名 投稿日:2019/06/09(日) 17:19:34 ID:2a7f7ea92 返信

    わざわざ別記事で解説ありがとうございます
    ファイルサイズは関係なかったんですね
    でも何も弄ってない場合でも起動エラーが出るのは何故でしょうか?
    Packに入れてるはずなのにやはりエラーが出てしまいます

  3. 名前:匿名 投稿日:2019/06/09(日) 17:23:31 ID:2a7f7ea92 返信

    Save Asって「名前をつけて保存する」のことですよね?
    何も考えずにフロッピーアイコンで上書き保存してたのですがこれが原因だったりしますか?
    ないようも気もしますが

  4. 名前:匿名 投稿日:2019/06/09(日) 17:58:16 ID:2a7f7ea92 返信

    やっとできました
    Switch-Toolboxを最新版?にしたらうまくいきました
    まさかツール側の不具合だったとは……

    • 名前:me 投稿日:2019/06/09(日) 18:00:12 ID:29d37a30c

      解決したようでなによりです。

    • 名前:匿名 投稿日:2019/06/09(日) 18:52:46 ID:2a7f7ea92

      はい
      今朝は連投すみませんでした