psvpfstools v2.0 がリリース

2018/02/03 20:03 PS Vita 0
GitHubで、motoharu-gosuto氏がPFSで暗号化されたVitaのゲームファイルをPC上で復号する事が出来る
psvpfstools v2.0 をリリースしていました。
・icv.db形式のサポート(セーブデータやトロフィー等)
・KeystoneとSealedkeyの解析及びKeystoneのサニティーチェック
・unicv.dbパーサーの書き換え(icv.dbに対応)
・マークルツリーのサポート(icv.db関連)
・暗号エンジンのクリーンアップ及び改良(reversing)
・コードの場所が違う事で未知の挙動を示していたのを改善(reversing)
・旧バージョンからのバグの修正
が変更点です。
ソースコードだけでなくWin 32bit/64bit向けにビルドされた物及びUbuntu向けにビルドされた物もリリースされています。

変更点の2つに()で括ってreversingと書いてあるのでここ最近は暗号化に関する部分のリバースエンジニアリングをされているのでしょう。
以前のバージョンを記事にした時は軽い紹介程度だったので、今回はもう少しだけ概要を紹介すると共に軽く使用方法を書いておきます。



psvpfstoolsはVitaのゲームデータに施された暗号化であるPFSをPC上で復号するためのツールです。
通常、PFSの復号というのはVitaでマウント、つまりVita自身が復号します。
そこで登場したのがmotoharu氏のpsvpfstoolsです。
motoharu氏はこのツールを「全く新しいスタンドアロンのアプローチ」と表現されています。

復号のために必要な物は以下。
・PFSで暗号化されたファイルが入ったソースディレクトリ(タイトルIDフォルダ)
・klicensee(ライセンスファイルに含まれるゲーム毎に固有の文字列)
・zRIF(NoNpDrmで作成した偽ライセンスを文字列化した物。zRIFからklicenseeが取り出せる)
・F00DサービスのURL

zRIFはklicenseeが用意出来ない場合に使用します。zRIFを偽ライセンスに戻してklicenseeが取り出されます。
PFSの復号にはVitaのF00D(lv0)が関わっているようで、PFS復号の際にF00Dはklicenseeを暗号化するために
1度だけ呼び出されるのだとか。そしてそれをPC上で再現するために F00Dサービス としたのが以下のURLのようです。
http://cma.henkaku.xyz/
ブラウザで開くとAIDからpsvimgを復号するためのバックアップキーを生成するテキストボックスが見えるだけですが、
このURLをpsvpfstoolsで使用する事でF00Dサービスとして機能するそうです。

現時点でpsvpfstoolsは「ゲームデータ」「addcont(DLC)」「セーブデータ」「トロフィー」「appmeta」「addcont root」
と理論上はPFSで暗号化されたデータは全て復号出来るとされています。
要求FWが3.61以上のゲームのデータのPFS復号テストも行ったそうです。
(要求FW3.61以上のゲームのデータはVitaShellでもマウントする事でPFS復号可能)

以下使用方法。



●用意するもの
・PC
psvpfstools v2.0
・PFSで暗号化されたファイルが入ったソースディレクトリ(=タイトルIDフォルダ)
・klicenseeもしくはzRIF


●使用方法
1、専用フォルダを作ってその中に psvpfsparser.exe と libcurl.dll をコピー
例:CドライブのルートにVitaフォルダを作成して "C:/Vita/psvpfsparser.exe" "C:/Vita/libcurl.dll" とする

2、復号対象となるファイルが入ったタイトルIDフォルダを手順1の場所にコピー
例:"C:/Vita/(タイトルID)/"

3、コマンドプロンプトを起動し、cdコマンドで手順1の場所に移動

4、オプションコマンドと合わせてpsvpfsparser.exeを実行する

-i … ソースディレクトリ(今回はタイトルIDフォルダ)の指定
-o …アウトプットディレクトリの指定
-k … klicenseeの指定
-z … klicenseeが自分で用意出来ない場合にzRIFを指定
-f … F00DサービスURLの指定

つまりは
psvpfsparser.exe -i PCSG00719 -o PCSG00719_dec -z zRIF文字列 -f http://cma.henkaku.xyz/
こんな感じ
klicenseeを使用する場合は "-z zRIF文字列" を "-k klicensee文字列" にします

4、正しく復号されているか確認する



psvpfstoolsはまだ開発中,テスト中のツールだそうで、バグに遭遇した時なんかはissuesで報告するのを検討して欲しいとの事です。
https://github.com/motoharu-gosuto/psvpfstools/issues


▼コメント




▼コメントを投稿












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