2ch DTV 板、カスカ 懐石・研究スレを古くから眺めていて、手元にある程度ログが残っているので、M00x 関連の状況の経緯を振り返ってみます。
174 [2012/04/30(月) 01:01:29.93 ID:bjce3UtA] 名無しさん@編集中どなたか、M001CA10のカードをお持ちではないでしょうか? このカードで地デジを試聴しながら "80 91 00 80 10"のコマンドを試していただきたいのです。 "15 F8 C5 BF 84 0B 66 94 9F AB C0 3A ED 33 67 C5 90 00" こんな感じのレスポンスがあると思いますので、 これと比較して"同じ"か"否"かを知りたいです。 よろしくお願いします。 198 [2012/04/30(月) 13:59:23.06 ID:bjce3UtA] 174 >>190 偶数の"80 90"も通りますよ。 ただし、"80 90 00 00 00"だとレスポンスが返ってきません。 "80 90 00 58 01 ab"とかにして、(アドレス=58,Deta長=01,Data=ab) コマンドを送れば、メモリーに書き込まれるようです。 "80 91"コマンドでリードすれば、書き込まれているのはわかります。 なぜか、すぐに消えちゃいますけどねw >>192 もし、>>174のコマンドを試していただけるのでしたらうれしいです。 "同じ"or"否"の回答だけでけっこうですのでよろしくお願いします。
という投稿があり、M001 の B-CAS カードには RAM を参照/書き換えるための非公開コマンド (バックドア) が用意されているらしいということが判明しました。この段階では、直接 Km や Kw のようなものが見えないかと探してみる人たちがいたのですが特にこれという発見もなく、解析スレッドは 5/4 からの T422/T415 祭り一色となって 'M' 系カードのネタの投稿は途絶えます。
970 [2012/05/08(火) 15:22:11.17 ID:W0+ifixD] 名無しさん@編集中M001 CA10のカードで新発見 80 90 XX XX 01 FFでRAMを書き換えると CLA 80 INS 60,63,64,A2,A6のコマンドが有効になる模様。 80 63 xx yy zzでメモリをいろいろ読み出せるみたい。 xx yy=アドレス zz=サイズ ただしA2、A6のコマンドを投げるとカードが死ぬ模様orz この2つは応答が遅いからカードをクリアしてるのかも知れない 他のコマンドも危ないかも
しかし、80 90 で特定のメモリアドレスに特定の値を書き込むと、幾つかの非公開コマンドが有効になるということが判明して、物事が動き始めます。特に、次の書き込みでファームウェアが完全に吸いだせることが判明してからは、追試・抽出を行う人も出てきました。
081 [2012/05/10(木) 16:35:45.43 ID:Vkyia9v+] 名無しさん@編集中M001CA10 http://toro.2ch.net/test/read.cgi/avi/1335325376/970 80 63めもりを一通り読んでみた 0000-03FF,4000-DFFF以外のアドレスにアクセスするようなコマンドを出すとカードが固まる。 で、データの後半(C000以降のあたり)がTカードのBC01に似ている気がする(XORはされていない) 80 63以外のコマンドはこわいので試していない
この投稿を受けて、東芝のバックドアについての Tweet を行った Oishii Sluper さんは次の Tweet を投稿しています。
さらに、T422/T415 のバックドアについての詳細が明らかになり、秋葉原ではカード種別を確認できるようにして地デジチューナが販売されるようになった 5/12 の週末に次の投稿が行われました。
657 [2012/05/12(土) 20:36:55.43 ID:kiILkkyB] 名無しさん@編集中M001持っているやつ逆汗してみろ。 CPUは6805だ。繰り返す。CPUは6805だ。 665 [2012/05/12(土) 20:46:44.94 ID:V6nalME6] 名無しさん@編集中 >657 なんでしってんの? 668 [2012/05/12(土) 20:52:06.53 ID:kiILkkyB] 名無しさん@編集中 >665 一通り試した。
以上の流れで、CPU の (ほぼ) 特定に至りました。(実際にはメモリマップやスタック等の仕様が MC6805 からカスタムされている模様です)
一方、解析スレッドでは定期的に「SoftCAS マダー」と投稿する人が居たためか、Oishii Slurper さんが次の Tweet を投稿しました。
こちらの一部伏字にしているリンクの先には RAR のアーカイブを 16 進ダンプに変換したと思われるものが登録されていたのですが、パスワードが設定されていたため、解析スレの一部の人たちが挑戦を試みたものの、すぐに諦めてしまったようでした。
一方、M001 に関しては既にプログラムの実体が入手できており、後は中を解析していくだけという状況になっていたので、パスワードクラックよりもファーム解析に取り組んでいる人の方が多かったように思います。
が 8 bit CPU かつ、独特のクセのあるコード構成となっているため解析の進みがあまり良くなかった (ファームが確認できただけでも 2 種類あり、情報共有に混乱もあったという事情も) ためか、Oishii Sluper さんがしびれをきらして次のような投稿を行い、その後パスワードのヒントらしきものをつぶやき始めました。
「8 bit CPU でロケット工学じゃないのに何をちんたら話してるの?」だそうで、まああまり言い訳はできませんね。ヒントを受けて、M001 から吸い出した ROM のデータを 16 進ダンプに変換して、一部を切り出してパスワードに入れて展開を試みるというスクリプトを書いた人が現れて、その結果 RAR アーカイブのパスワードが判明しました。
アーカイブを展開すると、出てきたものは M001/M002 のバックドアの開錠方法、ROM データのダンプ取得方法、ECM/EMM の暗号アルゴリズム等々の処理が詰まったソースコードだったというのが、昨日 5/16 早朝の出来事です。
実際にソースコードをビルドして試してみると、正規 B-CAS 同様に動作するという訳でして……ファーム解析の必要が無くなってしまいましたというのがほぼ昨日の状況です。私からの感想は次の Tweet に尽きます。