PSP Hack一覧

PSPのTA88v3基板がハッキングできない理由

Dark-Alexのサイトに「なぜ未だにPSPのTA88v3基板はハッキングできないのでしょうか」という記事が発表されていました。

Dark-AlexはPSPハッキングの第一人者のひとりで、SONY純正PSPファームを改変したCFW(カスタムファームウェア)の開発者です。彼がいなければPSPのハッキングはここまで進んでいなかったでしょう。

Nota Why TA88v3 cannot be hacked “yet”
なぜ未だにPSPのTA88v3基板はハッキングできないのでしょうか。

This is an explanation of the security that was added in TA88v3, and which will be likely in PSP3000.
これから述べるのはTA88v3から新たに追加されたセキュリティについての説明になります。新型PSP-3000にもおそらく適用されているでしょう。

When the PSP boots, the boot code (aka pre-ipl or ipl loader) loads the ipl from either the nand or memory stick. The IPL is splitted into pieces of 0x1000 bytes.
PSPが起動する際、ブートコード(pre-IPLやIPLローダーと呼ばれることもあります)はnandメモリーやメモリースティックからIPLを読み込みます。

First 0xA0 bytes of each block is a header for the kirk hardware command 1. It contains keys, the size of the cipher data, and two hashes, one for part the header itself, and another one for the body. The 0xF60 remaining bytes are the ciphered body, which will decrypt to 0xF60 plain bytes… if the hashes, which are checked by kirk hardware itself, are OK. (Note: ciphered body can actually be less than 0xF60, in this case, remaining bytes are ignored… before TA88v3) Fir
各ブロックの最初の0xA0 バイトはkirkハードウェアコマンドのヘッダーに当たります。その中にはキーや暗号データのサイズ、2つのハッシュが含まれています。一部はヘッダーそのもので、ほかはデータ本体です。残りの0xF60バイトは暗号化された本体データで、ハッシュに問題がなければその0xF60 バイトを復号します。(注:TA88v3基板以前は暗号化データ本体は実際には0xF60以下で、残りのバイト数は無視されていました。)

The security of kirk hashes was destroyed by a timing attack, and the IPL became unprotected.
What has Sony added to fix this?
kirkハッシュのセキュリティはタイミングアタックで突破することができました。それでIPLが無防備状態になりハッキングができていました。
その対応策としてソニーは何をしたのでしょうか。

The answer can be found in 4.00+ slim ipl’s. They decreased the size of the ciphered body to 0xF40 to leave 0x20 bytes at the end of each block (at offset 0xFE0).
As stated before, these remaining bytes are ignored… in pre-ipl’s of psp’s prior to TA88v3, and in fact, they can be randomized and ipl will still boot in those psp’s. In newest pre-ipl’s, these 0x20 bytes have a meaning.
その答えはPSP-2000のシステムバージョン4.00以上のIPLにありました。SONYは暗号化データ本体のサイズを各ブロックの最後に0x20バイトを残すために0xF40まで減らしたのです。(オフセット0xFE0のデータ部分で)
TA88v3以前のpre-IPLのように残りのバイトは無視してくれれば話は早いのですが…しかも実は起動のたびに無作為抽出データで復号されているにもかかわらず実際にIPLは以前のPSPでも起動しているのです。その新しいpre-IPLの、0x20バイトにどうも秘密がありそうです。

The first 0x10 bytes is an unknown hash calculated from the decrypted block. It is deduced that is calculated from the decrypted block and not the ciphered one due to the fact that 4.01 and 4.05 have a lot of ipl blocks in common, which, when decrypted, are similar, but they are totally different in its encrypted form. In these two ipl’s, this hash is same, as seen in the picture:
最初の0x10バイトは復号化されたブロックから計算されたハッシュのようですが、内容が不明です。おそらく復号化されたブロックから計算されている、と推定できるだけでもしかすると暗号化された物ですらないのかもしれません。4.01と4.05は複合化後のIPLブロックに共通点がありますが全体的には暗号化形態に違いがあります。4.01と4.05の2つのIPLブロックは、図のようにハッシュは同じです。

4.01-4.05 IPL block HEX

4.01/4.05 IPL block HEX

The second 0x10 bytes seem also to be dependent of the decrypted body (maybe dependent of the previous 0x10 bytes too?). In the picture it can be seen that they are different in 4.01 and 4.05, but they can actually be interchanged, you can move those 0x10 bytes from the same block in 4.05 ipl to the 4.01 ipl and it will still boot; however it cannot be randomized.
次の0x10バイトは復号化されたデータ本体に依存しているような気がします。(その前の0x10バイトももしかしたら同じ?)図では4.01と4.05は別モノですが実は4.05IPLの0x10バイトを4.01の同じ部分と入れ替えをしてみても起動してしまいます。

This protection also destroys any possibility of downgrading below 4.00, as these new cpu’s won’t be able to boot previous firmwares ipl’s.
このプロテクトのために4.00以下へのダウングレードはほぼ不可能です。新しいCPUが以前のファームウェアのIPLを起動できないためです。

Summary: basically, all security of newest psp cpu’s rely on the secrecy of the calculation of those 0x20 bytes. If pre-ipl were dumped somehow, the security would go down TOTALLY.
まとめ:基本的に新しいPSPのCPUのセキュリティは今述べた0x20 バイトの計算方法の秘密がすべてです。いつかpre-IPLがダンプできればセキュリティを破ることが出来るかもしれません。

Graphic summary:
図解

PSP with OLD-NEW CPU

PSP with OLD-NEW CPU


まもすけ注:この図が一番分かりやすいです。

翻訳はまもすけテキトー翻訳ですが、いつものようにごめんなさいする以前にちょっとしんどかったです。途中で何度もやめようと思いました。
なぜかというと、言語明瞭意味不明だからです。
内容が理解できません。
こいつはこんなこと普段からやってるのかと思うと頭が下がる以前にお友達にはなれないだろうなと考えてしまいました。
たぶんDark-Alexクンとは日常会話がきっと成り立たないことでしょう。

まあ、冗談はさておき、この記事を読んでふと思いだしたのが、PSPのファームウェアは3.95から4.00になった時の、さほど変化ないのになんでメジャーバージョンアップなんだろう?という疑問でした。

SONYのHPによると

PSPシステムソフトウェア バージョン4.00で更新された主な機能[2008.06.18]
* インターネット検索を追加しました。入力したキーワードをインターネットで検索できます。
* 操作パネルに[再生速度(+)]/[再生速度(−)]を追加しました。メモリースティック デュオ?に保存された動画を再生するとき、再生速度を変更できます。
* ワンセグ放送を録画した番組を再生するとき 、 字幕が表示できるようになりました。
* 字幕に対応していない番組を再生しているときは、操作できません。

大した変更がないように書いてあります。

が、実は中でSONYは虎視眈々とセキュリティ向上に努めていたのですね。だからメジャーバージョンアップだったんです。

ということは、次期ファームは5.00という噂がありますのでさらにセキュリティを強化している可能性もあります。
まもなく発売されるPSP-3000はもしかするとPS3同様鉄壁のセキュリティに格上げ?


便利なPSP Pandora Deluxeがv2.2にアップデート

先日お伝えしたPC上でpandora用のメモリースティックを簡単に作成できるPSP Pandora Deluxeが早くもv2.2にアップデートされたとPSP Hacksで伝えられていました。

PSP Pandora Deluxe v2.2

PSP Pandora Deluxe v2.2 changes:
 PSP Pandora Deluxe v2.2の変更点
* Added Internet Update function
    ネットワークアップデート機能を追加しました
* Added Load and Save functions for Configurations.
    読み込みと保存の設定機能を追加しました

細かいアップデートはユーザーから見るとうれしいですね。しかもバグfixではなく機能upですから。
ああ、はい、まもすけテキトー翻訳です。こんな短いのは別に書くまでもないですね。

ダウンロードは
http://www.psp-hacks.com/file/1543 からどうぞ。

新型 SONY PSP-3000、楽天で予約受付中です。



PSPのビデオフォーマット変換 PSPVC v2.90リリース

簡単にPSP用ビデオフォーマット変換できるPSPVC v2.90がリリースされました。

PSP Hacksで、簡単にPSP用ビデオフォーマット変換できるPSPVC v2.90がリリースされていました。

PSPVC v2.90 Released — PSP Video Converter
 PSPVC バージョン2.90リリース ーPSP用ビデオコンバーター

PSPVCv2.90

Looking to convert some of those downloaded videos for playback on your PlayStation Portable? Look no further; Nick’s PSP Video Converter (PSPVC) will convert the shit out that video format — real easy and proper like, too.
 ネットでダウンロードした映像をPSPで再生するためにフォーマットを変換するには?そう、これ以上の物はありません。NickのPSPビデオコンバーター(PSPVC)はPSPでは全く再生できないようなビデオフォーマットを再生できるように変換してしまいますーしかも簡単で最適に。

PSPVC v2.90 changes:
 主な変更点
* Option to select multiple video files
   複数のビデオファイルを選択できるようにしました
* Added a “Convert by folder” option
   ”フォルダに変換”というオプションを追加しました
* Select your own video-output folder
   自分で作成したビデオ出力用フォルダを選択できるようにしました
* Added an option to trim/preview the video in a separate 480×272 window
   480×272の別ウィンドウでビデオをトリムしたりプレビューしたりする
   オプション機能を追加しました

* Added an FFmpeg & Avisynth update check (optional)
   FFmpeg と Avisynth(コーデックです)の更新チェックを追加しました
   (オプションです)

* Fixed an audio bug in the batch/queue feature
   オーディオのバッチ/キュー機能のバグを修正しました
* Fixed a screenshot bug
    スクリーンショットのバグを修正しました
* Misc improvements
    その他の機能を改善しました
* PSPVC (Server) has been updated to v1.2 to match the changes in PSPVC v2.90
    PSPVC(サーバー)はPSPVCの変更にあわせてv1.2に更新しました

気軽にPSPで映像を見ることができますね。結構ビデオのフォーマット変換とかめんどくさいですから。
新型 SONY PSP-3000は液晶も綺麗だそうですのでビデオ鑑賞にはもってこいですね。
ビデオは結構容量食いますので、大きめの容量のメモリースティックをおすすめします。
CR-5300CR-5400といった、microSDカードをメモリースティックに変換するアダプタもオススメです。今メモリーカードは8GBのものが費用対効果を考えるとお得です。

念のためお伝えしますが、まもすけテキトー翻訳ですごめんなさい。