« 2011年3月 | トップページ | 2011年5月 »

【XBOX360】Nand Flashデータを吸い出してみた。ソフト編(その3)

FlashNandの先頭に書き込んだXeLL(-Xenon Linux Loder)で、XBOX360のDVDドライブからLinuxのLiveCDを使ってLinuxを起動させてみる。

使うLinuxはフリーの「Free60 Gentoo LiveCD Xenon Beta 2」というもので、ネットからCDイメージファイルをダウンロードして、CDに焼いた。
[Eject]で電源オン。トレイが出て動き出した。焼いたCD乗っけて、読み込ませる。
ほぉぉ。 Linuxローダーからブートし始めた。

Linuxの画面が出た〜。v( ̄▽ ̄)

XBOX360にマウスとキーボードをつないで遊んでみる。

【実験】別のXBOX360のDVDドライブをつないで、起動させてみた。
あらま。
DVDドライブのチェックは行わないので、別のXBOX360用DVDドライブでもブートは可能であった。

「上海」やら


「インターネット・ブラウザ」もXBOX360のLinuxで動いた。w

ただ、何かするたびにいちいちドライブにアクセするので、(遅くて)実用的ではないな…。w

| | コメント (3) | トラックバック (1)

【XBOX360】Nand Flashデータを吸い出してみた。ソフト編(その2)

自分のXBOX360はFlashの種類が16MB(0x0000〜0x03FF Block)のNandで、さらにACアダプターの形状から、"xenon"と言われている機種だとわかった。


前回NandPro.exeを使って吸い出しが終わった。(このとき一部読めない部分はFlashの後ろに配置されていることがわかった)
これをふまえて今度はNandFlashへ書き込み作業を行っていく。



機種が"xenon"だったのでネットで「xenon_hack_xellous.zip」をダウンロード。
解凍後、バイナリーファイル(=xenon_hack_xellous.bin)を"xellous.bin"にリネーム。
このファイル、サイズが0x0014A000バイトだった。
そうなると、1Blockが0x4200だから、全0x50 Blockで構成されていることになる。
(そういや、No.0x47 Blockが読み込みエラーでNo.0x3FFが代替えブロックになっているので、この部分は別途書き込む必要があるよなぁ…。)

とりあえず、このファイルをNandFlashの先頭から2MB(0x0000〜0x007F Block)分にxellous.binを書き込んでみた。

 nandpro lpt: -w16 xellous.bin 0

書き込んだ後にNo.0x47を読み込んでみると、素直に読めた。
つ〜ことで、別途書き込む必要なし。(なんか他のエラーブロックも書き込んで読めるような気がしてきた)
よって、"xellous.bin"の書き込みはOKとなった。

よし、これでXBOX360を元に戻して起動させてみた…。
文字がダラダラ流れ始めた。
途中、画面に「* your cpu key:xxxxxx… 」なる表示が出るので、このCPU keyという32桁の英数字はメモっておいた

どうやらXeLL-Xenon Linux Loderが動いたようだ。ヽ(´▽`)/
これはその名の通り、Linuxのローダー

なので次はこれを使ってXBOX360でLinuxを走らせてみる。>つづく

| | コメント (0) | トラックバック (2)

【XBOX360】Nand Flashデータを吸い出してみた。ソフト編(その1)

配線したXBOX360からネットのwiki情報等を見ながらNandFlashデータの吸い出し作業をしてみた。

  1. NandFlashデータを読み取るソフト("NandPro20d.rar")をダウンロードした。
  2. Windowsはポートの制御を許していないので、プリンタポートを制御するためにまず最初に解凍したファイルの中の"port95nt.exe"を実行した。
    これでポートを制御できるドライバーがインストールされるとな。
  3. さ〜て、DOS窓を開いていよいよnandpro.exeにてNandFlashの吸い出しを行ってみた。
    →">nandpro.exe lpt: -r16 nand1.bin [Enter]" (0x4200 [Byte/Block]で読込む)
  4. が、実行させると「DLPORTIO .SYSがない」とエラーになった。
  5. いろいろ工夫してport95nt.exeを実行しようにも、なぜか"DLPORTIO.SYS"ファイルがインストールできない。
    頭にきたので別途このファイルだけをネットで見つけてダウンロードして、"windows/system32/drivers"に放り込んでエラーを回避してやった。
    これで吸い出し作業が始められる。
  6. ところが、吸い出す途中でブロックエラーが発生

    あ〜れぇ?配線を間違えたか???(@Д@;
  7. バイナリーファイルで吸い出したファイルを観たら、それなりのデータであったので、配線に関しては問題ない模様。
  8. 吸い出したファイルをnand1.bin〜nand4.binと、4回吸い出してみた。
    いずれもブロックエラーの発生場所は一緒であった。
    どうやらこのブロック(4カ所)は確実に読めないらしい。
    実際読めないブロックは0xFFで埋まっていた。
    さらにこの問題のあるブロックは別ブロックにて代替え(ReMap)しているようだ。
      0x47→0x3FF
      0xF2→0x3FE
      0x1AB→0x3FD
      0x217→0x3FC
    このデータを補うようにしなければ
お次はネットに流れているNandFlashのイメージに、吸い出したデータの一部をマージさせて、新たなFlashイメージとして書き込む。>つづく

| | コメント (0) | トラックバック (1)

【XBOX360】Nand Flashデータを吸い出してみた。配線編

以前からXBOX360のNandFlashデータを吸い出すことの興味があって、その方法もネットにて仕入れていたのであったが、肝心の半田作業がめんどくさくってなかなか気分が乗らなかった。

が、本日とうとうその気になったので動き始めた。

プリンタ用紙にネットで仕入れたXBOX360のボード上での「SPI」「JTAG」の信号配線の詳細を明記して、必要な部品(抵抗とダイオード)をジャンク箱の中から探し出した。
"Xbox_360-HandC-V1_4.pdf"というPDFファイルが役に立った。 XBOX360のコネクタと信号の詳細がバッチリ載っている。

ボードの配線図では抵抗が100Ωとなっていたが、110Ωしかなかったのでこれを使う。

ダイオードも手持ちにあるのが1S1555だけど、これも問題ないっしょ。

プリンタポートを使って「SPI」と「JTAG」のプロトコルを実現し、XBOX360のNandデータを吸い出す。
ということで、いらなくなったプリンタコードをぶった切って配線に使うことにする。

半田作業を開始して、ふと接続するPCに目をやるとマザボの出力ポートにプリンタが見当たらない


一瞬焦ったが、別途ボード上にコネクタポートとして出力されていたのがわかったので、一安心。

ふぃ〜アブね。

最近はなんでもPC周辺機器はUSBでまかなえるから、この手のレガシーポートはドンドン削られていっちゃう運命だもんなぁ。

取り付け途中のD-SUBのプリンタコネクタをやめてPCBソケットにハンダ付けし直した。
XBOX360の基板には、長い足を取り付けて倒れないようにした。


あとはひたすら半田で配線していくだけ。



ふぃ〜。完成っと。



次は吸い出しツールソフトでNandFlashのデータを吸い取ってみっかな。>つづく

| | コメント (0) | トラックバック (1)

« 2011年3月 | トップページ | 2011年5月 »