FrontPage
Our bases to explore.
探検に用いた基地。古い技術を惜しげも無く使用。それで十分だった。
Lunar base / 月基地 †
土星探検への足がかりは、月に設営された基地。
PSP全体の理解に向け、実質的に何も分からない状況で行った、最初のハードウエア的解析。
メインボードのチップを取り外し、メモリチップらしいものに配線を強行、157本のワイヤーを手作業でハンダ付けする。端子は0.8mmピッチ。
内蔵されたNAND flashメモリからデータを読み出すための試み。
- 本来であれば、専用基板を作成しBGAパッケージをリボールして実装するのが順当。その方法とここで採用した方法を比較した結果、ダメ元で後者を採用。
- パッケージ内には、NAND flashとDDR-DRAMが内蔵されているとされており、まずは各端子が何に接続されているかを推測することから始まる。
- 続いてNAND flashのピン配置を決定する必要がある。容量的・ピン数的に似た品種を参考に、ブルートフォースにより各ピンの意味を理解、アクセスのプロトコルを同定する。
- それら結果に基づき、フラッシュメモリの内容を読み出した後、各領域の使用目的やフォーマットを推測。ファイルとして取り出して、ソフトウエア的解析に移行する。
- これにより得られた結果は、初の自作ソフトの作成に大きく貢献している。
-
- PSP main board, chips peeled off
- PSPのメインボード(TA-079)。主要チップを取り外した状態。
-
- wire to the memory chip
- メモリチップに配線を行う。メモリチップはNAND flashとDDR-DRAMがワンパッケージに入ったマルチチップパッケージ。
-
- 'Lunar base' to read the chip
- メモリチップからデータを読み出す。月基地全景。マイコンボードを経由してPCに接続。
Titan base / タイタン基地 †
続いて行ったハードウエア的試み。タイタン基地。
月基地によりフラッシュメモリの内容やアクセス方法について理解できたので、次に通常動作時のアクセス内容についての理解と、動作時におけるフラッシュメモリの書き換えによりシステムに干渉することを目指した。
CPUとフラッシュメモリ間の配線に割り込んでPSP外部に引き出し、観測と干渉を可能にする。mod-chipにて行われている方法論と同様だが、内蔵フラッシュメモリを使用し通常動作時の観測も可能としている。
- 配線長が長くなるため動作に問題が起きる可能性が高いと思われたが、ダメ元で試みる。やや動作は不安定だが、なんとかなった。
- 初の自作ソフトの作成、初のカーネルモードの突入、起動手順の理解において、大きな役割を果たす。
-
- Signal lines between CPU and NAND flash. 15 lines.
- メインボードのNAND flash配線。信号線は15本。
-
- 32 wires attached, CPU side, memory side, and power lines.
- CPU側とメモリ側、さらに電源2本を加え、32本を外部に引き出す。
-
- Set in the case.
- 基板を本体外装に格納。
-
- with face plate and conntecter.
- フェイスプレートを付け、コネクタに配線。
-
- observing loopbacked signals to understand access to flash memory
- 信号をループバックし、通常動作時のアクセス内容を観測
-
- with hardware to change NAND flash on-the-fly
- 外付けハードウエアにより、フラッシュメモリの内容を動作時に変更可能にする。
Hexagon Probe †
土星の北極にある六角形に隠された秘密を探査するヘキサゴンプローブ。
数の力により不可視なものを可視化する試み。
- CPUチップに内蔵されたブラックボックスであるセキュリティエンジンについて理解し、それを制御下に置いて深奥の探索を可能にすることを目的とする。
- カスタムIPLの作成、「パンドラのバッテリ」を実現可能に導いた。
Counter: 82,
today: 1,
yesterday: 0