なんとアップデート用バイナリが発見されました.
ダウンできますので解析したい人は是非.
早速2chを中心に解析が進んでいるようです.
PSPでSNES9xやMAMEが動く日が0.1日くらい縮まった感じです.
アップデートバイナリを起動するとどうなるか
game.memopad.jp/special/psp/update/?scid=1 「アップデートファイルのような物」をEBOOT.PBPにリネームして「/PSP/GAME/UPDATE/」に突っ込むとアップデートが実行され「音声読み上げ機能追加 /ソニックステージ対応音楽配信およびニュース配信追加 /電卓機能追加 /音声チャット機能追加 /PSP専用内臓ゲーム3タイトル追加 /PSP専用メールソフト追加 /PSP専用ワープロソフトおよび表計算ソフト追加 /PSP専用ウェブブラウザ追加 /PSP専用スケジュールソフトウェア追加 /不具合修正」という文字列が出てくるらしいです.(from techside.net)
その夢のような文章に騙されてアップデートしてしまうと起動不能になってしまう模様(きっと有料修理でしょう).
PSPのファイル解析
game10.2ch.net/test/read.cgi/poke/1105284361/ game10.2ch.net/test/read.cgi/poke/1104924133/ (前スレ)
8個のチャンクがあって
00000008 → 00000028 → (\x00)PSF
0000000C → 00000238 → (\x89)PNG
00000010 → 000031C3 → PSMF0012
00000014 → 000209C3 → (\x89)PNG
00000018 → 000356F6 → (\x89)PNG
0000001C → 00049763 → RIFF
00000020 → 0005EC0F → (\x7E)PSP(\x00)
00000024 → 00399BFF → PSAR
このようになっている模様.
外人が解析等をしているForum
forums.ps2dev.org/viewforum.php?f=12 やっぱ外人は強いです.なんでまだ発売してないのにここまで調べちゃいますか.
あと,アップデート適用して動かなくなって焦りまくる外人がちょっと笑えます.きっとeBayで凄い値段で買ったんだろうなあ…ちゃんと修理できるのか心配です.
僕もどんなコードが詰まってるのか興味津々でコードと思わしきPSPチャンクを切り出して逆アセを試みましたが解読不能なコードが出てくるばかり.エンディアンはLittleだよね?いまいち命令コードがどうなってるのかよくわからないけど,いくら試してもまともなコードは出てこない.しょんぼり.
forums.ps2dev.org/viewtopic.php?t=929 外人によると暗号か圧縮が掛かっている説が有力のようです.ぶっちゃけ128bitAESとかだったりすると鍵をリークしてくれないと対処不能な気がする.
逆アセは手ごろなものがなかったので
binutilsを使いました.
誰かまともなR4000対応逆アセ知ってたら教えてください.
ちなみに逆アセは下のような風に(makeは適当).mips:4000の時点でダメかも.
$ tar zxvf binutils-2.15.tar.gz
$ ./configure --target=mips-elf --program-prefix=mips-elf-
$ make && make install
$ mips-elf-objdump -D -S -EL -b binary -mmips:4000
--start-address=0x80 update-psp-r4000.bin
しかしR4000ってMIPS IV(MIPS64)アーキなのにPSPの仕様では32bitになっている.ってよくみたらMIPS32 R4000って書いてあった.単にMIPS64を抜いたって事か?確かに携帯機で64bitは現状ではやりすぎ感があるのでMIPS32が妥当なところか.
と思ったら後藤さんの記事にその辺の事書いてありました.
pc.watch.impress.co.jp/docs/2003/0801/kaigai008.htm
(Thanx GPMさん)