[PSVITA] French American Games Decrypter と rePatch reDux0 2.71 (ALPHA) がリリース - #LetMaiDie

2018/07/25 22:10 PS Vita 13
・2019/01/11 追記
Compatibility Packを使わず要求FWを無視出来るようになりました。
[PSVITA] reF00D v1.0 がリリース - 要求FWが高いゲームをCompatibility Pack無しで起動可能に


GitHubでCelesteBlue氏とdots氏が、os0,vs0,ゲームに存在するモジュールをカーネルを通して復号する
French American Games Decrypter をリリースしていました。
PSVita Reverse Engineering Tools の内容物の1つとしてリリースされています。

加えてdots氏が、復号されたゲームデータやDLCをrePatchフォルダに配置してMODやDLCの追加を実現する
rePatch reDux0 2.71 (ALPHA) をリリースしていました。
・French American Games Decrypterで復号したファイルを使用出来るように
が変更点です。

さて、7月の頭頃から話題になっていた#LetMaiDie、それがFrench American Games Decrypterとしてリリースされました。
名前の由来は不明。まあとにかく概要や使い方などを簡単に書いていきます。




[PSVITA] 3.65以下でキープした方が良いと言われている理由はMaiDumpToolに代わる#LetMaiDie

先週私は上記の記事を公開しました。先週の時点で分かっていた#LetMaiDieの情報をまとめた記事です。
実際にFrench American Games Decrypterとしてリリースされましたが、伝えるべき新情報というのは特に無いように感じます。
少なくとも私から見てですが。唯一、ゲームだけでなくos0やvs0のモジュールも復号出来るというのは新情報だと感じます。

上記記事を確認するのが面倒な人向けに言えば、今回リリースされたのはMaiDumpToolに代わる復号アプリです。
MaiDumpToolはゲームを起動してRAMからモジュールを復号状態でダンプしていましたが、ダンプが不完全であるために
MaiDumpToolでダンプしたゲームは何か動作がおかしかったりそもそも起動しないなんて事がありました。
French American Games Decrypterはモジュールをカーネルを通して適切に復号するHomebrewとなります。
Maiの特徴であったダンプ(復号)してしまえば要求FWを無視できると言う点やeboot.binを直接弄れるという点は同じであるため、
今日から完全にMaiDumpToolが不要になりました。Maiの環境は今すぐ捨てて移行しろと言っても良いくらいです。

(French American Games Decrypterって書くのめんどくさいな…以下FAGDecと書こう…)

復号して要求FWを無視する事が可能なため、FAGDecで復号したゲームのモジュールはCompatibility Packと呼ばれる事が多いです。
Compatibility Packは正規のゲーム或いはNoNpDrmで動作させているゲームで、rePatchを使用して有効にします。

例として、分かりやすいタイトルを挙げるとするなら今月発売したザンキゼロ。あれは要求FW3.68です。
FAGDec自体は要求FWを無視する機能は持ち合わせていないので、ザンキゼロのために3.68のVitaを用意する必要があります。
3.68のVitaにて、FAGDecを使用してザンキゼロの起動に必要なモジュールを復号します。
その復号したファイル群がザンキゼロのCompatibility Packとなります。それを使えばMaiのように要求FWを無視出来ます。
3.60~3.67のVitaでrePatchを有効にし、rePatchフォルダにCompatibility Packを配置します。
それで3.60~3.67のVitaでもザンキゼロが起動可能になります。

で、そのCompatibility Packですが、記事執筆時点で既に380程作成され、以下で公開されています。
https://gitlab.com/nopaystation_repos/nps_compati_packs
個人的にはこれ使わないでおこう派ですが、使ってもいいでしょと考える人もいるのは理解しているので紹介している次第。
ここの線引きって難しいですよね。どういう感じで紹介すれば良いのか、本当に迷います。
これって私のように割れと同等だからアカンみたいな人もいれば、有志による修正パッチみたいな捉え方する人もいますし…
上記のgitlabにあるCompatibility Packは圧縮されています。ppkは単なるzipなのでzipとして解凍可能です。


以下、FAGDecでの作業含めた、要求FWを無視するための手順。(SELFとして復号してそれを使用する手順)

修正 2018/09/05
eboot.binの改造を行う方もSELFとして復号してください。
RE-toolsのvita-unmake-fselfを用いてSELF(eboot.bin)をELF(eboot.bin.elf)に変換し、ELFに任意の改造を施し、
elf_injectorにSELFとELFをドラッグアンドドロップする事で、ELFへの改造が反映されたSELFが取得可能です。
eboot.binの改造を行う方はRE-toolsのREADMEとTheRadziu氏のガイドを確認してください。
https://github.com/CelesteBlue-dev/PSVita-RE-tools
https://github.com/TheRadziu/NoNpDRM-modding/wiki#eboot-modding-andor-running-365-games-on-360-and-365



●用意するもの
・正規のゲーム or NoNpDrmで動作しているゲーム
・PS Vita (用意したゲームが起動出来るFWかつHENkaku導入済み)
FAGDec.vpk
rePatch reDux0 (v2.71~)
(・PS Vita (Compatibility Packを使用する側))


●手順

1、FAGDec.vpkをDLし、インストール

2、FAGDecを起動する

起動して初めに表示されるこれがメインメニューです。ここでos0やvs0、ゲームタイトルを選択します。

FAGDec_20180725 (1)


3、メインメニューで復号対象にカーソルを合わせて×ボタンを押す

この際、モジュールのパスを取得しているので、"DECRYPT ALL(DONE)" と表示されるまで待ってください。

FAGDec_20180725 (2)


4、"DECRYPT ALL(DONE)" にカーソルを合わせて×ボタンを押す

右側のカラムにパスが登録されます。

FAGDec_20180725 (3)


5、○ボタンを押してメインメニューに戻る

手順3~5を繰り返して他のゲームのモジュールを登録して一括で復号する事も可能です。
復号したいゲームが複数あるならそうやって一括で復号すると良いでしょう。

FAGDec_20180725 (4)


6、メインメニューでSTARTボタンを押す

ここではSELF/ELFのどちらで復号するのかを選択可能です。通常はSELFです。

FAGDec_20180725 (5)


7、STARTボタンを押して "START DECRYPT(SELF)" を実行する

FAGDec_20180725 (6)

右側のカラムのカーソルがどんどん下に降りて行き…

右側のカラムのカーソルが一番下まで来て、左側のカラムにDoneと表示されれば復号終了。

FAGDec_20180725 (8)


8、VitaShellを起動して "ux0:FAGDec/app/タイトルID/" と "ux0:FAGDec/patch/タイトルID/" があるのを確認する
※patchフォルダ側はゲームが更新されていた場合にのみ存在

そのタイトルIDフォルダがCompatibility Packとなります。

Compatibility Packを使用する場合、インストールされているゲームとCompatibility Packのバージョンは合わせてください。
例えば更新済みでv1.01とかになっているゲームにv1.00のCompatibility Packを使うのはダメという事です。
更新済みの場合はそのバージョンのCompatibility Packが必要になります。

patch側のCompatibility Packを使用する際はapp側に上書きする事が推奨されます。
(ゲームの起動に必要なモジュールがpatch側に存在しない可能性があるため。)

---------------------------

10、Compatibility Packを使用するVitaを用意する

11、repatch.skprxをDLし、"ux0:tai/" にコピーし、config.txtに以下のように書き足しVitaを再起動する
*KERNEL
ux0:tai/repatch.skprx
※v2.71のrePatchはアルファ版だからかファイル名がrepatch_4.skprxになっています。
※私はなんか気持ち悪いと思ってリネームしましたが、面倒な場合はパス中のファイル名はrepatch_4.skprxとしてください。

12、"ux0:rePatch/タイトルID/" にCompatibility Packの内容をコピー

13、enjoy !!!!!






・2018/07/25 22:10 … 記事公開
・2018/08/07 01:21 … 少し修正


▼コメント


Ricky 2018/08/01 17:08
すみません、質問があります。
Compatibility PackをrePatchフォルダ内にコピーする際は、“ux0:FAGDec/app/タイトルID/”を先にrePatchフォルダにコピーしてから、その後で“ux0:FAGDec/patch/タイトルID/”を上書きコピーすればよいのでしょうか?
管理人 kood 2018/08/01 17:46
>>Rickyさん
はい。それが一番確実です。(ただまあ、個人的にはpatch側だけを使っても特に問題無いんじゃないかなと…)
フォルダ内のファイル数を比べて数が同じならpatch側だけ、違うならおっしゃるように上書きが良いと思われます。
Ricky 2018/08/01 20:19
ありがとうございます。
プリッツ 2018/08/10 17:46
すいません。2つ質問をさせてください「patchフォルダ側はゲームが更新されていた場合にのみ存在」とありますが具体的には何をすればよろしいのでしょうか?
そしてゲームはどのように起動すればよろしいのでしょうか?
よろしければお教えください
管理人 kood 2018/08/10 18:36
>>プリッツさん
ゲームにはゲームデータ本体(ux0:app/タイトルID/)と更新データ(ux0:patch/タイトルID/)が存在します。
前者はゲームカードであればux0ではなくgro0となり、後者はゲームが更新されていた場合にのみ存在します。
FAGDecはまず復号するモジュールのパス(場所)を取得しますが、ゲームが更新されていなければapp側のパスしか取得しません。
その場合にFAGDecで復号すると、"ux0:FAGDec/app/" には出力されますが "ux0:FAGDec/patch/" には出力されません。
ゲームが更新されていた場合はFAGDecが更新データ側のパスも取得し、復号された更新データが "ux0:FAGDec/patch/" に出力されます。

>※patchフォルダ側はゲームが更新されていた場合にのみ存在
この注釈は上記のような意味合いで書きました。

ゲームの起動というと、普通にバブルから…、という回答しか出来ませんが…
この記事ではFAGDecを使った復号からrePatchを使った起動までの流れを書いたつもりです。
プリッツ 2018/08/11 07:19
そういうことでしたか!ありがとうがざいます。
テスト機関 2018/09/01 21:56
NoNpDrm、SELFで複合を選択をしたところ
「Could not properly save self auth 80010002」
「ELE IS CORRUPTED IT IS AS BAD AS MAI Or its too」
というようなエラーが出ました。
原因は何が考えられるでしょうか
管理人 kood 2018/09/01 22:42
>>テスト機関さん
「FAGDecを使用しているVitaのFWが、そのゲームの要求FWより低い」
NoNpDrmを使用しているという前提であれば、原因として考えられるのはこれだけです。
FAGDecはゲームを起動する事が可能なFWで適切な復号を実現する物です。
そのゲームが起動可能なFWが入ったVitaを用意してください。
(それが出来ない人のためにgitlabでCompatibility Packが共有されています…。。。。。。。。。。。。)
テスト機関 2018/09/02 11:48
>>管理人 koodさん
てっきり一台で全ての作業が出来ると勘違いしていました。
特定のFWが起動する本体が別途必要だったのですね。
僭越ながらgitlabを利用したところ無事起動いたしました。
ご教授ありがとうございました。
このみ 2018/09/15 20:37
koodさん、いつも記事楽しみにしてます。
以前より3.60henkaku環境でゲームを楽しんでいる者ですが、この度意を決してNoNpdrmに手を出しました。
色々と手詰まりだったポイントもあったのですが、たくさんの記事に助けられて
一週間の試行錯誤の末、ようやくNoNpdrmの導入・吸い出したゲームデータのプレイが可能になりました。

が、ここでもう一つ問題が起きまして…。
エラーコード”c1-6703-6”により、一定のコンテンツID以上のゲームのプレイが全くできない状況なのです。
こちらも必死に調べたところ、FWが3.60であることが原因なのかな?と思ったのですが、アップデートはしたくない…。
そんな中でこちらの記事を見つけ、試してみたのですが、
上部の流れの7つめ、最後の画像部分で、Doneは出るのですが、
koodさんのような全てグレー文字ではなく、左部分が所々(2~3行ほど)赤文字で表示されたり、
下部の流れにある”ux0:rePatch/”が存在しない為、appにあるゲームデータに直接コピーするのかな?と思いやってみたところ、
データが壊れていると出てしまったり…。
手探りでPCを弄っている身なので、中々スムーズに理解できていないのかもしれないのですが、
やはり赤文字表示からしておかしいのでしょうか?また、私の行動におかしな点はありますでしょうか?
vitaの二台準備ができない為に、どうにかこの一台で頑張りたいのです…。
長くなってしまいましたが、どうぞよろしくお願いいたします。
管理人 kood 2018/09/15 22:15
>>このみさん
C1-6703-6エラーは、Vitaが、ゲームが要求するFW未満である場合に発生します。
3.60環境である場合、ゲームが3.61以上を要求した際にそのエラーが発生します。

FAGDecは「ゲームが起動出来るFW上で、そのゲームの起動に必要なファイルを復号するアプリ」です。
目的のゲームが起動出来るFWのVitaでなければ、FAGDecは使えませんし、試すだけ時間の無駄です。
赤い文字で表示されるのはそのエラーです。そのエラーは、FWを上げない限りは絶対に解決しません。
rePatchはもともとMODを実現するプラグインとして生まれました。
rePatchは「復号されたファイルを用いて、ゲームのファイルを置き換えるプラグイン」です。
ゲームデータ本体である"ux0:app/" とパッチの "ux0:patch/"。それらの中はほぼ全て暗号化されています。
(NoNpDrm以前のバックアップツールであるVitaminやMaiでダンプしたゲームなのであれば復号されている)
Vitamin/Maiでダンプして動作させているゲームなのであればファイルは直接置き換えても、なんら問題はありません。
しかし正規のゲームやNoNpDrmで動作させている場合、普通に置き換えてしまうとエラーが発生します。
rePatchでは "ux0:rePatch/" に復号されたファイルを配置すれば、そのファイルがパッチのパッチとして動作します。

ゲームの起動に必要なファイル(eboot.bin等)は、復号出来れば、要求FWというのを取っ払えます。
その復号されたファイルをCompatibility Pack(互換パック)と呼び、rePatchで置き換える形で使用します。

3.60のVita一台しか無い場合、選択肢は3つです。
・もう一台用意する
・有志が復号したファイル(Compatibility Pack)を使う(gitlabにあるのがそれ。記事で紹介してる)
・要求されるFWに上げる(3.65~3.68ならh-encoreがあるのでHENkakuが使えます)

2つ目に関しては、私には何も質問しないでください。
ゲームデータの共有に当たる訳で、私はそれを使うのは好んでいないので。
私が記事中でgitlabのリンクを紹介しているのは、共有されている物を「有志による修正パッチ」と捉える人がいそうだからです。
これは私程度の人間が語るのは難しい問題で、gitlabにあるCompatibility Packを使うかどうかはあなたの心に訪ねてください。
hishinsu 2018/10/15 11:53
管理人さんに質問です。再起動についてなのですが、再起動とはVitaShallにある自動的な更新を無効の下に記載しているVitaShallを再起動か電源の下に記載している再起動かHENkakuの設定にある端末の再起動のうちどれを使用していますか。後それぞれの再起動は同等と捉えて結構ですか?長文失礼いたしました。
管理人 kood 2018/10/15 14:16
>>hishinsuさん
「VitaShallを再起動(Restart VitaShell)」は読んで字の如く「VitaShallを再起動」です。VitaShellを一旦終了させ再度起動する項目です。
この項目はVitaShellのテーマの設定を変更したり言語ファイルを上書きした際に有用です。
VitaShellの電源(Power)の下にある再起動(Reboot)はVita本体を再起動する項目であるため、上記の項目とは役割が違います。
HENkakuの設定にある「端末の再起動」もVita本体の再起動です。これはVitaShellの電源の下にある再起動と同じ機能です。

私が「Vitaを再起動」のような表現をする時は「Vita本体の再起動」を表しています。
私の場合、どの項目を使用して再起動するかはその時々で違います。まあ、好きにすれば良いと思います。


▼コメントを投稿












※「英数字90%以上」のコメントを規制中です。コメントを投稿する際は日本語でお願いします。
※確認ボタンを押すと投稿確認フォームに移ります。投稿確認フォームの送信ボタンを押してください。
※確認フォームにある「メールアドレス」に入力された内容は管理人のみ確認可能です。空欄で構いません。
※確認フォームにある「タイトル」「パスワード」は当ブログでは使用していません。空欄で構いません。
※確認フォームにある「URL」は名前のリンクとして機能します。空欄で構いません。
※確認フォームには非公開コメントのチェック項目がありますが、非公開コメントは受け付けていません。
メールフォームより連絡頂ければメールにてお返事致します。