2020年3月17日から2020年3月13日までの日記を表示中

2020年 3月17日 (火)

基板

32bit PCIのライザーカードが届きました。

PCIのライザーカード

とりあえずカートリッジとマザーボードの間に物理的に挟めることを確認w

物理的に挟めることを確認

起動もOKでした。なるほど。

起動もOK

それはそうと、ここ数日、2nd以外のタイトルのBIOSを一旦デコードして、再度ゼロキーでエンコードすることで、電池切れした状態でも他のタイトルを動かせるようにできないのか、MAME上で調べていたんですが、こちらはそうそう簡単にはできないことを確認。

とりあえず、BIOS上はデータなのに、CPU内のSRAMにコピーされた上で命令として実行されるような、二重に暗号化されたコードが存在するのがいやらしい感じですw。この辺を頑張って潰しきったのが、今の複数タイトルを起動できる怪しいカートリッジ+データなのでしょうね・・・。難しいことがわかったので、こちらは一旦打ち切りにします。

2020年 3月16日 (月)

基板

一応、2nd以外のROMが刺さった基板で、電池のない2ndのカートリッジを挿したらどうなるのか実験。普通に2ndのカートリッジとして起動したので、マザーボード側のSIMMの中身とは関係なく勝手に復活するっぽいですな。

2nd以外のSIMMが刺さった基板でも2ndのカートリッジは復活するらしい

2020年 3月15日 (日)

基板

今日はMV-4を水洗いしてみました。まずは電池を外しておきます。こちらも漏れて基板に何か滲み出ていましたが、MV-6のときよりはだいぶマシな感じでした。

MV-4の電池外したところ

後はMV-6のときと特に変わりありません。絶縁シートを剥がして、BIOS ROMを抜き、食器用中性洗剤で洗って、十分にすすいだ後は水気をしっかり切って、縦置きしてひたすら乾燥させるだけ。

食器用中性洗剤でゴシゴシ

立てて乾かす

続いてはCPS3です。今日はマザーボード側の調査に使えるちょうどいいジャンク品を探してみました。確か微妙にキャラ化けするやつが1枚あったはず・・・。が、キャラ化けマザーは見つからず、代わりに謎のSIMMがどっさりささったマザーボードが2枚出てきました。

謎のCPS3マザー

うーん、SIMMの枚数と構成的に、ストIII 3rdと、未来への遺産っぽいですね、これ。やばい、何とかして動かしたいw。改めて頑張ろうという気になりました。

未来への遺産と3rdっぽい

で、キー飛び状態に関する調査ですが、Twitterで寄せられた経験談を見るに、やはり電源関係がほぼ全部という感じでした。電源電圧を高くしていたら飛んだとか、電源が不安定な状態になって瞬断したら飛んだとか。うーん、なかなか狙って出すのは難しそうだなぁ。

というか、MAMEのソースに書かれているような、「高電圧などを検知して、意図的にセキュリティキーを飛ばす」って、本当なんでしょうかね。高電圧などがきっかけでキーが飛ぶのは事実のようですが、本当にそれをトリガに「意図的に」飛ばしているのかと言われると、非常に怪しい気がしています。未知のCPUを解析・ハックするときに高電圧を掛けるテクニックがあるのかどうか知りませんが、その前にプローブをつけてバスを読み取るとか、やれることは色々とあるはずなわけで、対策するならそっちでしょ的な。

そう考えると、高電圧や不安定な電源でキーが飛ぶのは、実は意図的でも何でもなくて、単にハードウェアが電源回りの障害に対して異常に脆弱な設計になっているだけなのではないかという気がしてきます。つまり、キー飛びは、メーカーとしても想定外の現象なのではないか。そして、これを避けるために、電圧監視用の回路を入れたりして、改良を重ねていったのではないか。そうであれば、逆に高電圧や瞬断が、CPUに対してどのように作用するのかを回路から読み取ることで、キー飛びを再現させるヒントが見つかるかもしれません。ふーむ。

なんてことを考えながら、カートリッジのエッジコネクタとフラッシュメモリの間の配線を追ってました。どこを繋げばそとから読み書きできるかわかったぞw

フラッシュメモリのピンとカートリッジのコネクタの対応付けを実施

2020年 3月14日 (土)

基板

CPS3のBIOSをデコードするにあたり、毎回MAMEを実行するのも面倒かつ不便なので、MAMEのソースコードからルーチンを切り出して、キーとアドレスオフセット設定することでXOR処理を行う単独ツールを作成してみました。これで少しは解析が捗るかな。

で、CPS3のカートリッジについてですが、MAMEのソースとか見ると、「CPUは改ざんを検知すると自らセキュリティキーを消去する」なんていう情報が書かれていたりします。

If the custom CPU detects any tampering (generally things such as voltage fluctuation or voltage dropping or even removal of the cart with the power on), it immediately erases the SRAM (i.e. the decryption key) inside the CPU which effectively kills the security cart.

もしこの処理をCPUがソフト的にやっているのであれば、BIOS ROMの中で何かしらの割込みを検知して、そこからキーを消去するみたいな処理に飛んでいる箇所があるのでは・・・? というわけで、デコードしたBIOSの中の怪しそうな割込みハンドラをいくつか追ってみたんですが、どれもフリーランカウンタやウォッチドッグタイマといった、割と普通の機能向けのものばかりでした。うーん、BIOS内にはヒントはないのかな・・・。

というか、電圧が高いせいでキーが飛ぶ状況を再現できれば、誰がそれを検知して、どのようにしてCPUに通知しているか、観察できるのでは・・・? というわけで、調査用の2ndのカートリッジに電池をつけて、電源電圧を5.5Vくらいにまで上げた状態で電源スイッチをパチパチとやったりして、キーが飛ぶかどうかとかの実験をしてみました。が、結果は特に変化なし。普通に毎回起動しました。使っているカートリッジが後期版なので、もしかしたらこの辺の対策が強化されていたりするのかな。前期版のカートリッジで実験してみたら、また違ってきたりするのだろうか・・・。

電池つけて電圧上げて実験してみたけど特にキー飛びっぽい状態にはならず

それはそうと、丸洗いしてから約1週間が過ぎたので、MV-6を組み上げてみました。まずは洗っている途中で切れてしまったジャンパを再度修理。

断線箇所を再度修理

で、上の基板と合体させます。いやー、綺麗になったなぁ。

綺麗になった

ちゃんと動くかな・・・。

ちゃんと動くかな・・・?

OKでした。スロット4含め、全部問題なし。

問題なく起動

シールドをつけて完了。

シールドをつけた

ちなみに、ふとナイトメア・イン・ザ・ダークを動かしてみたところ、こちらの警告が出て起動してくれませんでした。

MV-6でナイトメア・イン・ザ・ダーク

失礼な警告が出て起動せず・・・

カートリッジ側の問題かと焦ったんですが、普通の1枚版小型マザーボードでは問題なく起動。

1枚版小型マザーでは普通に起動

さらにMV-4でも動きました。

MV-4でテスト

MV-4でもナイトメア・イン・ザ・ダーク起動

MV-6だけ何か相性があるんですかねぇ・・・。もっと色々試してみたい気もしましたが、ひとまず片付けて場所を作っておきたいというのもあり、深追いしない方向で終了。

2020年 3月13日 (金)

基板

駿河屋の在庫を眺めていたら セキュリティカートリッジ不良で起動しないストIII 2ndなんてのを発見。うーん、詳細は不明ですが、仮に電気的にカートリッジが壊れていないのであれば、2ndでもキー飛びで起動しなくなる状況は存在するということですかね。カートリッジのキーがオールゼロ(ストIII 2ndのキー)に初期化されるのは、電池切れした状態に限られるのかな(確かにLeoさんも「電池を外してやれば」と言ってますな)。

電池が生きている状態でキーが壊れると、初期化されないからいつまでも死んだままになるということなのかな? 「キーが壊れる」=「キーが書き換わる」なのであれば、そこに任意のキーを書き込むヒントがあったりして・・・?

ちなみに、昨日の2ndの電池なしカートリッジで再度実験してみたところ、一発目は電池切れしたときのような画面化け状態でうまく起動せず、電源を入れ直すと起動するという現象が再現しました。

一発目はこんな状態

電源を入れ直すと起動

ただ、その後は、コンデンサの電荷を抜いたりしても再現してくれませんでした。普通に一発で起動してしまいます。うーん、タイミングの問題?

ところで、色々と実験をする上で、毎回基板からフラッシュメモリを剥がして貼り直すのは流石にしんど過ぎる&破損のリスク大だったりするので、何とかできないものかと調べてみたところ、どうもフラッシュメモリの書き換えに必要な信号は全部カートリッジのコネクタに配線されているっぽいですな。もしかして、PCIのコネクタのついたアダプタを作れば、TL866CSで読み書きできちゃうのかも?これは作らねば・・・。

2020年3月17日から2020年3月13日までの日記を表示中

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2020年3月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ