[Hack] BPRMを復号する

Hack

BPRMとは

yamlなどをニンテンドー独自の暗号化で難読化したもの。

復号ツールが公開されているのでそれをまずはダウンロードしてきます。

TheFourthDimension

GitHub - exelix11/TheFourthDimension: A super mario 3d land level editor

スーパーマリオオデッセイ用のプログラムなのですが、スプラトゥーン2と同じくbprm v3の暗号化が施されているのでこのツールで復号化することができます。

どうもいくつかの最新のファイルには対応していないようですが、基本的にはこれで問題ありません。

ダウンロードするとconvert.exeが入っていると思います。

こちらのレポジトリだと “The4Dimension.exe” というファイル名になっているので、 “convert.exe” に変更してみてください。

ファイル名を変更しなくてもコマンドは使えますが、記事内と互換性を持ちたい方向けです。

このconvert.exeは “convert.exe batch FileName” というコマンドでbprmやbymlを復号することができます。

ただ、これだと単一のファイルにしか対応していないのでバッチファイルを作成してループ処理ができるようにします。

@echo off
mkdir %~dp0bprm
for %%f in (*.bprm) do (
copy %%f %~dp0bprm\%%~nxf
%~dp0convert.exe batch %~dp0bprm\%%~nxf
del %~dp0bprm\%%~nxf
ren %~dp0bprm\%%~nxf.xml %%~nf.xml
)

あくまで一例ですが、上記のようなコードもありでしょう。

作成したバッチファイル(例えば、Decrypt.bat)をconvert.exeと同じフォルダにおいておきます。

あとはこのバッチファイルにbprmファイルをドラッグアンドドロップするとフォルダ内のbprmファイルが全てコピーされたあとで変換されるという仕組みです。

コピーしてから変換、削除するので元のファイルを破壊する心配がありません。

コードを置換する

ただ、これで復号したxmlはそのままでは読みにくいので人間が読みやすいコードに変換しましょう。

tkgstrator/splam
Automatically replace name value to parameter with xml(bprm). - tkgstrator/splam

以前作成したsplamでパラメータを人間が読みやすい名前に変えてくれるのでそれを利用しましょう。

なんかまだバグっているっぽいので修正します。

パラメータ置換後のxml

パラメータを置換すればこのように見やすくすることができます。

あとはこれらのファイルのパラメータを変更すればブキの性能が変わるという仕組みです。

暗号化

@echo off
mkdir %~dp0encrypt
for %%f in (*.xml) do (
copy %%f %~dp0encrypt\%%~nxf
%~dp0convert.exe batch %~dp0encrypt\%%~nxf
del %~dp0encrypt\%%~nxf
ren %~dp0encrypt\%%~nxf.byml %%~nf.bprm
)

再暗号化は同じコードで行なえます。

やはりそれでも一つずつしかファイルが処理できないのでバッチファイルを作成します。

動作確認していないのですが、多分上記みたいなコードで動作するはずです。

間違っていたら各自修正お願いします。

まとめ

今回はbprmをxmlに復号してパラメータを弄る方法について解説しました。

これさえできればブキの性能を弄るのはやりたい放題なはずですので、これ以上の解説は特に書くつもりがありません。

どういうことかというと次のような質問についてはわからないから答えられないということです。

  • どこを弄ればブラスター連射できるの
    • 知らん、自分で探して
  • どこを弄れば全塗りできるの
    • 知らん、自分で探して
  • インク消費量はどうやって変えるの
    • mInkConsumeを弄って

連射系は多分硬直フレームを変更とかなので “Frm” とかで検索かければみつかるんじゃないでしょうか?

記事は以上。

コメント

  1. 匿名 より:

    最新のbprm復号化出てほしいな、

  2. より:

    bprmのままxml形式で開けるツールもGitHubにありますよー
    変換する手間がないので自分的にはこっちのほうが便利です
    参考程度にどうぞ

    • me より:

      おっしゃられるようにSwitch-Toolboxなどが対応していますね。

      ただこれだとパラメータの置換ができないので、自分はいちいちxmlに直しています。
      どこを変更したいか最初からわかっていればその手法もアリですね。

  3. 匿名 より:

    これはMacのパソコンでも出来ますか?

    • me より:

      TheFourthDimensionはwindows用にビルドされたものしか公開されていないので配布されているものはmacでは動作しません。
      bootcampなりでwindowsが動作する仮想環境をつくる必要があります。

      もしくは自身でビルドする必要があります。
      どちらにせよ難易度は高いです。

  4. ki より:

    改造スペシャルの方法を教えてください

  5. 匿名 より:

    以前作成したsplamとはどの記事に載せてますか?

  6. 匿名 より:

    convert.exe入ってなくないですか?

  7. 匿名 より:

    convert.exeの入っている実行ファイルってなんというファイル名ですか?

    • me より:

      convert.exe自体が実行ファイルなので、別の実行ファイルに入っているというわけではありません。

    • 匿名 より:

      convert.exeをダウンロードするところを写真で見せて欲しいのですが…

    • me より:

      本家ファイルからDLしたことがないのでわからなかったのですが、こちらのレポジトリだと “The4Dimension.exe” というファイル名になっていました、失礼しました。
      このまま使用していただいても構いませんし、記事のコマンドとの互換性のために “convert.exe” に変えていただいても結構です。

  8. 匿名 より:

    ソフトの吸い出し方法を教えて下さい

    • 底辺 より:

      質問する場所考えようよ

    • 匿名 より:

      パラメーターの置換方法を教えてください。いちをえむいーさんが貼ってるリンクからダウンロードしたのですがやり方がわかりません・・・

  9. 33333 より:

    ソフトを吸い出してnspからxmlに変換して弄るのもありですか?

    • えむいー より:

      ソフトを吸い出すと通常はxciと呼ばれるファイル形式になります。xciはコンテナファイルですので、直接 xmlに変換することはできませんが展開してから抽出して該当ファイルをxmlに変換することは可能です。

  10. Anonymous より:

    What is the Sting Ray .bprm?

タイトルとURLをコピーしました