ゲームボーイカラーのブート ROM ダンプに成功 39
ストーリー by reo
そういう方法を取るのか… 部門より
そういう方法を取るのか… 部門より
ある Anonymous Coward 曰く、
ゲームボーイカラーのブート ROM ダンプに初めて成功したと、FPGA 上でゲームボーイのクローンを製作するプロジェクト「FPGABoy」の Costis 氏が伝えている (本家 /. 記事、FPGABoy の記事より) 。
起動時にハードウエアを初期化し、GAMEBOY ロゴとアニメーションを表示させ、あの「チャリーン」という起動音を鳴らしているのがブート ROM である。ゲームボーイカラーは 1998 年に発売されたが、ブート ROM のダンプは今まで誰も成功していなかったという。サイトに写真と合わせて詳しい説明が掲載されているが、電圧を変化させながらクロックグリッチを発生させることでダンプに成功したとのこと。スーパーゲームボーイのブート ROM も似たような手法でダンプできたとのことで、共にサイトからダウンロード可能となっている。
これはどのように応用が効くんでしょうか (スコア:2)
これつかって配布したりとはかNGだと思いますが、この技術を使ってどういった応用が可能なんでしょうか。
#まさか配布とかよからぬことをしようとしたのではなく技術的探求心だとは思いますが
Re:これはどのように応用が効くんでしょうか (スコア:2)
ダンプ→逆アセンブル→互換ROM とか。
HIRATA Yasuyuki
意味不明 (スコア:0)
あなたのいう「これ」は、ブートROMダンプファイルのこと?
それとも、ダンプに用いた技術のこと?
タレコミ文には
「ゲームボーイカラーのブート ROM ダンプに初めて成功したと、FPGA 上でゲームボーイのクローンを製作するプロジェクト「FPGABoy」の Costis 氏が伝えている
とあるように、
> #まさか配布とかよからぬことをしようとしたのではなく技術的探求心だとは思いますが
ゲームボーイのクローンを作ることが目的でしょ。
今、成功の記事がでるってことは (スコア:1)
てっきり普通に出回ってるものと思ってました。
ゲーム機本体のパチもんとしては、ファミコン・スーファミ・メガドラ位しかないのでしょうか?
少し前にリンクで…… (スコア:1)
少し前に「卑猥な画像のリンクを大量に貼り付けた」ということで
「わいせつ物陳列罪」で捕まった人がいましたが。
これは「直接リンクじゃないから配布に当たらない」という言い逃れができるのだろうか。
しかも直接リンクでなくとも「ダウンロードはここから可能」なんて書いてるし。
リンクを張るにしてももう少し記事の書きようがあるんじゃないの。
「技術的な詳細はここ」とか。
Re: (スコア:0)
> 「わいせつ物陳列罪」で捕まった人がいましたが。
> これは「直接リンクじゃないから配布に当たらない」という言い逃れができるのだろうか。
いつのまに「著作権侵害物陳列罪」が出来たんでしょう?
Re:少し前にリンクで…… (スコア:2, すばらしい洞察)
著作権侵害の幇助とか?
まあ、なんにせよ我々が判断することではありませんな。
Re:少し前にリンクで…… (スコア:1, すばらしい洞察)
怖いですね、Googleなんかにリンク張ったりしたら...
大丈夫? (スコア:0)
これって権利的には大丈夫なんでしょうか?
Re: (スコア:0)
Re: (スコア:0)
Re:大丈夫? (スコア:1)
国による。
◆IZUMI162i6 [mailto]
Re: (スコア:0)
少なくとも日本のサイトで宣伝する内容じゃあないんじゃない?
何考えてるの編集者は
Re: (スコア:0)
ところで、私の理解だと、
日本の現行法ではこのROMダンプをダウンロードするのは違法ではないけれど、配布するのは違法。
これ、あってますか?
Re: (スコア:0)
ダウンロード違法化の施行が2010年1月1日かららしいので、
それまでは限りなく黒に近いグレーかな。
Re: (スコア:0)
Re: (スコア:0)
録音・録画が対象なので白
Re: (スコア:0)
そうだったね。つい勘違いしていたよ
アウトです (スコア:0, フレームのもと)
その配布サイトへ堂々とリンクを貼っているこのサイトも違法です。
PSやらDCのBIOSロムの解析、配布サイトにリンクを貼っているのと同じです。
また、「世界初のドラキュラハンターのROM解析に成功」と言って
その解析、配布サイトにリンクを貼っているのと同じです。
いつも思うのですが、スラッシュドットの投稿者は投稿前に倫理的な
判断ができないのは、何故なのでしょうか?
Re: (スコア:0)
貴方が法と倫理を区別出来ない理由に近いものによるのではないかと思います。
あくまで推測ですが、
あうあう (スコア:0)
すみませんが、リンクを張る行為がどのような法律に抵触し、どのような根拠条文から違法との判断を
導かれたのか、後学のためご教授頂けますと幸いでございます。
Re: (スコア:0)
ちょっと違うけど
FLMASK裁判 [e-jurist.net]
おふとぴ (スコア:2)
証拠の作成者に石田晴久先生の名前が突然出てきて驚いた。
こんな仕事もされてたんですね・・・。
世界初ではないのでは? (スコア:0)
ゲームボーイカラーのマジコンもエミュレーターソフトも世の中には出回っているので
出来ることは証明されていますよね。
Re:世界初ではないのでは? (スコア:5, 参考になる)
しかもa.ブート中(カートリッジのコードが走る前)に、ブートROMを完全に切り離してしまう。
なのでカートリッジプログラムからはブートROMの内容は一切読めない。このaをなんとかキャンセルしたい。
この人がどうしたかというと、外部回路でaを実行する命令を狙い撃ちして、CPUのクロックと電源を数秒落した。
クロックと電源を元に戻すと、グリッチによる異常動作で、うまくいけばカートリッジROM領域のどこかに飛んでいく。
カートリッジROM領域をNOPで埋めておき、最後にダンププログラムへ飛ぶようにした。
それ見事成功したということです。
> プロジェクト「FPGABoy」で成功下だけで、世界初ではないのでそんなに珍しいことがらでもないように思えるが?
ちょっとはリンク先を読んでから物を言ったほうがいいよ。
Re:世界初ではないのでは? (スコア:1)
http://www.its.caltech.edu/~costis/cgb_hack/pics/ [caltech.edu]
のスパゲティなワイヤ等が、とても hack らしくて素晴らしいと思いました。
#使っている万能基板が、日本では見かけないパターンので気になります。サンハヤトのICB-86 [sunhayato.co.jp]に似ているけど、途中のパターンが独特です。便利なのかな?
もちろん、手法自体も、まさに hack ですねぇ。
古のポケットコンピュータPB-100シリーズ [pisi.com.pl]の内部ROMとかも、同様の手法で読めたりするんだろうか?
Re: (スコア:0)
GBCの場合は、ブートROMが最後にブートROMを殺していたのが面倒だったのですが、
そうでないマシンの場合は、普通に外部プログラムから内部ROMを読めるでしょう。
シャープのポケコンは特殊命令が必要でしたがそうやってダンプできました。
(ただし命令フェッチとそれ以外で別の読み出しをするハードでは困難です)
Re:世界初ではないのでは? (スコア:1)
>そうでないマシンの場合は、普通に外部プログラムから内部ROMを読めるでしょう。
PB-100系にはPEEKもPOKEもCALLも無く、同等の特殊命令も無いんですよ…。
異常動作でプログラムカウンタを飛ばせるなら、ワークエリアにRAMエミュレータを繋いで機械語を動かせるのかも、と思いました。
#思うだけで、技術も根性も足りません。orz
命令とデータとでバスが分かれているなら、どうにもなりませんけどね。そして、それは大いにありそうな事です。
修羅なリバースエンジニアリング(Re:世界初ではないのでは? (スコア:1)
リンク先を見ましたが、
RAMは純粋にデータ格納用であってプログラムはあくまでもMPU内部のみで動いてる上に
このRAMとMPUとの読み書きはD1-D4の4bitデータバスと制御線OP,CE,読み書き用のクロックCK1,CK2で完結しちゃってる
のでグリッチングでは無理ですね…
# あくまでもBASICインタプリタなどの処理系はMPU内部に格納されていて
# マシン語の命令もマシン語のスタックもMPU内部で完結してるっぽい…
## と言うかこのMPU自体がI/O線しか出てないに等しいワンチップコントローラなので通常の方法では無理
これを解析するとなるとMPUのケースを溶かすか削るかして中のチップを見えるようにした上で走査電子顕微鏡でMPUのROM領域などのパターンを読み取ってマシンコードに変換する [cherryroms.com](別の事例 [excite.co.jp])ような相当荒っぽい真似するしかないんじゃないかと思いますです…
# カスタムチップのエミュレーションを完璧にするためにここまでやっちゃったと言うのも…
Re:修羅なリバースエンジニアリング(Re:世界初ではないのでは? (スコア:1)
>と言うかこのMPU自体がI/O線しか出てないに等しいワンチップコントローラ
2相クロックに4bitの双方向バスってのは4004っぽくて、命令も格納できてプログラムカウンタさえそこを指し示せばそれが実行される、って気もします。
でも、4004っぽいとすると、ROMを読む命令とRAMを読み書きする命令が別で、やっぱりRAM上の命令を実行するのは無理かも。
また、手持ちのPB-100の外部バスにアナログオシロを繋いでてきとーに眺めた限りでは、内部ROMのコードの実行ではチップ外部のバスにアドレスさえも出てこない? その点で既に、内部の boot ROM の実行中でもアドレスは読めたというSGBよりは分が悪いです。
その筋の人なら、メモリの読み書きを追いかけて、よくわからんのCPUの隠されたプログラムを高い精度で推定できるのだろうか…?
Re: (スコア:0)
Re: (スコア:0)
Re:世界初ではないのでは? (スコア:1)
ROMダンプしたんならコピーだろ?
全部作ったのならともかく、パクったものは互換品とは言わない。
多分 (スコア:0)
エミュレーションする分にはブートROMは無くてもいいですから、本格的にやってた人が
居なかった…とも言えそうな気はしますが情熱には脱帽です。
プロテクト用MCUを解析(単純には吸出し不可)とか、MAMEプロジェクトで結構あったかも。
Re: (スコア:0)
まあ、エミュなんて無料で遊ぶためのものだから
ROM自体は扱う必要ないわなw
FPGAでCPU作ってるのですが(Re:多分 (スコア:2, 興味深い)
しかし、完全互換品のハードウェアをスクラッチから作るためには、ブートシーケンスをきちんと再現する必要がありますよ。
モノ自体は用いられなくても、中でどういう処理をやってからアプリケーションに処理を渡してるのか。と言う問題を解決しないと100%の互換性は再現できない。
そう考えると、FPGAでゲームボーイ互換品を作るという作業ではこの解析は必須であったし、そのコードを公開するというのはアリなのではないかと思いますよ、学術的に見ても非常に素晴らしいと思いますが。
…独占したいという欲深い任天堂にとっては不快極まりなくて違法対象にして、なにがなんでも罰を与えたいでしょうけど、ハッカー的な視点からすると任天堂とか著作権を乱用する側とそれを受け売りして矢鱈滅多ら「著作権侵害イクナイ!!」とやってる人々の神経を疑ってしまいますが…
Re: (スコア:0)
ハッカー的な視点からすると任天堂とか著作権を乱用する側とそれを受け売りして矢鱈滅多ら「著作権侵害イクナイ!!」とやってる人々の神経を疑ってしまいますが…
ある行為が特定の観点から奨励されることと、その行為が倫理的に許されるかどうかは違うだろう。
犯罪学の観点から有益だからといって犯罪を励行するのか?
それと、無意味に話を一般化するな