アーカイブ自宅サーバサイト(http://sephiebrain.jp/)で公開していた、約定期blogのアーカイブです。一部切れているリンクや画像があるかもしれません。top☠【警告】☠:IE8(またはそれ以下)の古いIEで閲覧しています!今すぐ使用を止めてアップグレードするか、他のブラウザを使用しましょう。WiFi(D25HW)のベースになったといわれるE5830は、ファイアウォールを外すだけでtelnetできるらしい。ファームウェアアップデートツールを少し調べていて理由が判明。ファームウェアアップツールはファームウェアを書き込むだけでなく設定も書きこんでいるのだが、その設定がプレーンテキストをコンパイルするような形になっている。そのテキスト内に「NV_LAN_TELNET_ENABLED」という項目があり、どう見てもtelnet有効化についての設定なのだが、当然値は0に設定されている。...で、結論から言うとexeをごにょってさらにVS2008デバッガでレジスタを...げふんげふん...で、telnetが有効になった(ぉ)。「メモリ上にCPUが解釈できるマシン語が展開される限り、Krackできないことなど有り得ない!」と(参考:リバースエンジニアリング)。一応記念に/proc/cpuinfo取得したので。nblogにあるE5830の/proc/cpuinfoと全く同じ。dmesgはかなり違う(長いので掲載しないが)。覗いてみるの人もTCP/IPを疑ってみたらしい。私も最初はそうだった。追記:内部ストレージだが、空いてるのは/dev/mtdblock0(/mnt/flash)が4.6MiB程度とごくわずか。microSDを挿入すると/dev/mmcblk0p1(普通はパーティション切ってないのでこれ)で認識するので、それをマウントすれば容量は実質無制限。次はARM開発環境...ってさすがにそこまでするつもりはないのでこの辺で終了。書きすぎると怖い人がやってきそうだし。19:35)E5830と違ってファイアウォールを切ってもWAN側からはtelnetアクセスできないようだ。セキュリティを考えたら当然だが。そもそも項目名が「NV_LAN_TELNET_ENABLED」なので試す前からそうだろうとは思ってた。blogによるとバックアップファイルは、エンコードされており、かつ、直接いじっても、CRCエラーで弾かれて、それをリストアすることはできない。このCRCエラー、単純なビット比較らしく、全部のビット数が変わらなければ、弾かれない。LINE_CRCってそういうことだったのか。CRC32のようなものだと思ってたので、まさか単純ビット比較だとは思ってもみなかった。追記2(10/7)コメントに返答するため久しぶりに調べていたら、私と同じような方法でtelnet有効化した人を発見。TrashSUITEしかもこの記事の僅か10日ほど後。22:10設定ファイルを調べていて、こちらにたどり着きました。バックアップファイルを変更できないか色々と試しています。私がテストした限りではCRC32では無く、CRC16が近い値になるみたいです。00:557/3の追記に記載しているサイトによると、他の設定値とビットを入れ替えれば可能なようです。SETTING_A=0SETTING_B=150のような行があった場合にSETTING=A=5SETTING_B=100(Aの1の位とBの10の位を入れ替え)だとCRCをパスするらしいです。私は実際に試していませんが...。13:01変更する文字が多いとダメみたいです。下のように=の右側を入れ替えましたがチェックをパスしませんでした。wlExtends[12]="read_only";ツールを作りましたが計算は未だに合いません。22:43私もあまりよく分かってないので力になれずすみません。CRCの完全解読が必要なのかもしれません。