[Hack] BPRMを復号する

BPRMとは

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

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

TheFourthDimension

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

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

ダウンロードすると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はそのままでは読みにくいので人間が読みやすいコードに変換しましょう。

以前作成した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” とかで検索かければみつかるんじゃないでしょうか?

記事は以上。

シェアする

『[Hack] BPRMを復号する』へのコメント

  1. 名前:匿名 投稿日:2019/05/05(日) 00:47:34 ID:bb5d02a39 返信

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

    • 名前:Switch.wiiu.hack 投稿日:2019/05/05(日) 09:42:46 ID:6ef0bd570

      convert.exeが入ってません…フォルダー内を検索しても、ありませんでした。何かの自分の間違いでしょうか…
      画像↓
      https://re-doing.com/imgup/d/2019/0505/1557016808.PNG

    • 名前:me 投稿日:2019/05/08(水) 07:35:15 ID:64d9cb34b

      ソースコードダウンロードしているので実行ファイルは入っていないでしょうね。

    • 名前:me 投稿日:2019/05/05(日) 11:06:13 ID:682e54231

      BCATキーがあればできたような気がします。

  2. 名前: 投稿日:2019/05/05(日) 10:36:49 ID:ea8a18543 返信

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

    • 名前:me 投稿日:2019/05/05(日) 11:05:21 ID:682e54231

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

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

  3. 名前:匿名 投稿日:2019/05/05(日) 19:13:31 ID:7702f6fae 返信

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

    • 名前:me 投稿日:2019/05/05(日) 23:26:20 ID:4707bd461

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

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

  4. 名前:ki 投稿日:2019/05/07(火) 16:13:49 ID:dacc02ac3 返信

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

    • 名前:me 投稿日:2019/05/07(火) 17:08:52 ID:4660a4667

      曖昧すぎてお答えできません。
      改造スペシャルってなんですか?