ルータのNATをIPv6トンネルのパケットに対応しようかと思って,色々いじる.ちょっと見た感じだとアドレス変換のパラメータにプロトコル番号をそのまま使っているので,その部分を41番にすればOKと思って,NATの設定のデータを色々いじったけど駄目.やっぱりプログラムもいじらないとか…と思って,ファームウェアを見てたのです.ここまでは前振りです.適当に,逆アセンブルして読んでるとなんか(…危険なので省略…)っぽい関数を発見.試しにCで書き直して全体を見てみると,危険な匂いがする.もしかしたらと,ブラウザでルータの設定画面を開いて(…危険なので省略…)する.ちょっと待つと,Windowsが「ネットワークケーブルが接続されていません」と怒る.同じルータに繋がってたもう一台も同じ.……ルータが死にました.いや,設定画面で変なことをやったら,ルータが誤動作しても,セキュリティーホールじゃないですよね?ってことで,ログイン前に同じ事をやってみる.……今度は何も起きない.と,思ったけどちょっといじってみると,今度はネットに繋がらなくなりました.どうも私が見てた関数にたどり着く前に落ちてしまっているようです.落ちた場所を調べてみると,やっぱりBOFな感じです.これは,Webサーバとして動かすには問題ですね.今のところ,任意のコードを実行するには問題があるけど,がんばれば完全に乗っ取れるかも.こういうときにハッカーな人達なら,すぐにexploitが作れるのでしょうが….私のルータの中身で盗まれて困るようなのは,ルータにしかつかってないパスワードくらいで,被害は少ないですが,場合によってはプロバイダのパスワードが盗めてしまうような….とりあえず,BUFFALOのお問い合わせフォームから解析したという部分は伏せて不具合として送っておきました.
デフォルト設定ではたぶん問題ありませんが,WAN側からルータに入れるように設定している方は気をつけてください.(あと,LAN内に信用できない人がいる場合も(^^;)
「φは壊れたね」読了.結局φは何だったのか.書いてある事が答えなのか怪しいですが.これは,分類としてはミステリーなのかな.まぁ,最初から大した謎は無いのだけど,出てくる人間が面白いです.変な人がいっぱいなのに,妙にリアルで(笑).ありがちな思考ルーチンで動く登場人物で構成するよりも,一定以上変な人を混ぜた方がリアリティが出るような気もします.変わった思考ルーチンを持ってる人が少なからず混ざってるのが現実だし.
USB-IOプラグインの最新版をアップロードするのを忘れてたのでアップ.
今月の日記のファイルサイズは書き始めてから2番目に大きい.ファイルを見ていると,他にやらなければならない事が多いほど,ファイルサイズが大きくなる傾向があるようです.
このサイトのアクセス数は,休日よりも平日の方が多いのですが,今月のログを見てみたら,16〜17の休日だけ,山ができている.おかしいと思って日記をみると,どうも2ちゃんねるのBBR-4MGのスレッドにIPアドレスが書かれた時期と一致している.ちょっと凄いな….
今日は曇ってます.パソコンのピアサポートセンタに連れてってもらって,色々物色.そのあと,石狩鍋とかをIMIさんに奢ってもらったりして,特にやることがないのでMeshiと二人で帰る.帰りは戸隠経由….
なんか,人から奢ってもらってばっかりですね.って,財布の中身が500円とかいう状態なので,大学祭どころじゃないのですが.それというのも,松本についた時点では2.5k円くらいあったはずなのに,暇だったので床屋に行って髪を切ってしまったのが失敗.しかも,携帯の電池が切れてたので,誰とも連絡がつかない状態でした(笑).でも,これで美容室の人に目を付けられることもなくなったでしょう.
雨が降ってたので,Meshiに傘を借りて帰る.自分でも折りたたみの傘は持ち歩いてますが,開くのが面倒くさくてめったに使いません.傘を出して開く手間を考えたら,濡れて帰ります(持ち歩く意味無い).なんか,微妙に雨漏りしてます.害は無いので放置してますが….
帰ってからWindowsのペイントでお絵かき.お絵かきといっても,直線とか四角形とかですが.某ソフトで使う画像です.そろそろ疲れたので作っちゃいましょうという状態.インターフェイスの設計は,考えるのに疲れます.プログラムを書き始めれば,大して頭も使わずに出来てしまうのですが,そうやって作ったものは,大抵あまり出来がよくなかったりするし….明日こそは家賃を払いに行かないと….
今日はオートマトンの授業とアルゴリズムの演習.アルゴリズムのテストの一問目に1からnまでの整数の和を求める再帰関数を書けとかいう,妙な問題にひねくれた回答を書こうかと思ったけど,後の問題が大変そうなので素直に書いておく.この前,信号処理で妙なことを書いておいたら,点が引かれてたし.まぁ,採点してるのは先生ではなくてTAの人とかなので,素直に書いた方が点がもらえるのかもしれません(あたりまえですが).
「そもそも,謎だと思うこと自体が主観であり,基のデータには,客観的な謎が存在しているわけではない」理論的な思考をしようとしている時は,謎だとか不思議だとか言うものが介入しないように気をつけなくては….そうしないと,黒っぽい人が現れて,「この世には,不思議なものなど何ひとつないのだよ」と怒られてしまいます(笑).
今日から松本で大学祭らしいので,Meshiの車で行くことに.一度部屋に戻って,13時前にMeshiのところに行ってカレーを食べる.SZK君の分のカレーが無いという問題が発生しそうになったけど,SZK君が来る前になんとか解決(?).カレーを食べた後,KWTが運転する車が後ろを付いてくる形で松本へ.あちこち道が崩れていて,かなり迂回しました.迂回した…と思った道もいつのまにか通行止めだったりして大変.13時半に出たのに,着いたときにはかなり日が傾いてたので,たぶん2時間くらいかかったんじゃないかと思います.
MeshiとKWTは車を置きに行きました.MRIとかはサークルボックスの方に.某サークルにもボックス欲しいかも.とりあえず,特に予定は無いので髪を切りに行くことにする(ぇ?).途中で携帯電話の電池が切れてたのですが,放置.後から聞いたらMeshiは私にかけたらしい.ごめんなさい.
TGCHのサークルのクレープ食べたりした後,携帯の電池を充電するために,USBの充電ケーブルを借りる.「φは壊れたね」を読みながらノートパソコンで充電.とりあえず,半分読んだところでMeshiと連絡をつけて,二人でふらふらする.理学部棟に進入を試みるが,カードが無いと夕方以降は入れない.入れる入り口はあるけど,特に何もやってなさそうなのでやめる.そのあと,Safiiのところに行ってTGCHと合流.
久しぶりに元MN研(現情報教育支援室)に行って,MTMT先生に会ってみることにする(事前に部屋に電気がついているのを確認済み).部屋の前に,端末が置いてあったので,久しぶりにGUIでサーバにログインしてみる.当たり前ですが,ログインしてもすることは無いのでログアウト.なんか,いつも邪魔をしてしまって,悪いような気もしますが,部屋に入って色々話す.最近は量子力学の講義をしているみたいです.置いてあった本をパラパラめくってみましたが,さっぱりです.やっぱり真面目に勉強したいなぁ.TGCHは途中で明日の準備があるからといって,出て行きました.今年のロボティクスのゼミの話.なかなか難しいです.それと,マインドストームはやっぱり高い.でも,マインドストームもどきが1000円以下で売られていたらしいので,生協で大量に買ったらしい….今回のロボコンの足回りはそれを使わせるのもありかも,という話.競技方法は,未だに決まらず.今回チームが多いので,同時に複数チームがフィールドに上る競技が望ましいということだったけど,それなら練習や調整はどうするのかという問題も.敵と練習したら,ネタと技術をバラすことになるし,かといって,一つのチームの中での練習も限界がありそう.Meshiは相手への直接攻撃が含まれる競技を実現したいみたいでしたが….って,ゼミを受けている人が見るかもしれないから,あまり具体的な事も書けないのかな(笑).サークルの方に行ったと思ったTGCHは時間を間違えたらしく,食べ物をもって戻ってきて,また暫くしたら,今度は本当に出て行きました.
そのあと,20時少し前に外で爆発音が.私は花火だと思ってたのだけど,先生は外に見に行きました.で,やっぱり花火.金かかってるなぁという話をしながら,折角外にでたので,携帯のカメラで写真を撮ろうと試みる.ちょっと無理がありますが,とりあえず写ったという程度.携帯のカメラを使う場面を色々探しているのですが,やっぱりあまり使いません.一度戻って今度は大学のコンピュータの話.情報工は自由に使えるパソコンが学科内に無い(少なくとも聞いてない)ので,ノートパソコンを持ち歩いてないと,図書館まで行かないといけないので困ります.コンピュータ室の新システム(?)の話が上ったので見に行くことに.共通教育のアカウントは殆ど使ってないのでパスワードがすぐ思い出せるか心配.8ヶ月ぶりくらいにアクセスする記憶領域は荒れ果ててましたが,何とか読み取れる状態を保ってました.大文字小文字が少し心配な部分もあって,ログインに失敗したら恥ずかしいなぁと思いながらパスワードを入れたらちゃんと入れました.他のデスクトップ環境からKDEのアプリケーションを立ち上げるのに時間がかかるのが気になるけど,快適そうです.結構色々入ってますね.ゲームまで色々そろってます(笑).この教室のPCは21時になると,リモートから強制的に電源を落とされるのですが,先生が管理しているOSを立ち上げている間は落とされないみたいです.作業中してるときに,手違いで再起動を掛けられたこともあったので,今度使うときは,こっちにログインしようか.とは言っても,松本まで来て使う事は無いような気がするけど.あとは,大学のネットワークの話とか,スクリプト言語とか,OSの話とか.なんでもEmacsでやってるような人なので,敵わないなぁ.もっと大学の情報教育のレベルを上げるべきだと思うのだけど….やっぱ,これからやるとしたらバイオインフォマティックスなのかなぁ.でも,バイオ系は関係が複雑怪奇で関わりたくないような気もする.
とりあえずここで,夕食を食べに行こうという話に.先生の車に乗せてもらって,食べに行きました.建物から出るときに,さり気なく鍵が閉まらないように細工してました(笑).理学部棟は改装してから大学祭にも使わなくなったらしいです.飲み食いすると建物が汚れるからか.注文してから待っている間,研究生活の話とか.CERNにいたというのも,あまり凄くないという感じで話しているけど,素粒子系とかをやってると,世界的に有名な研究機関で研究するのって案外できる事なんですか?.倍率は高いらしいけど.私はどうなるんでしょうか.正直言ってお金をもらって働くのってあまり考えたこと無いのですが….情報工学は大学が最先端と言うわけじゃないという現実があるから,どこか企業に入って色々やるのが良いのかもしれません.順調にMac信者になりつつあるMeshiは,MacOSはすばらしいと語ってました.食事中も楽しい時間が過ごせました.やっぱり,自分の興味がある分野の知識が豊富な人と話をするのは楽しい.(相手がどう思っているのかを気にしなければ).で,毎度のことですが,夕食を奢ってもらってしまった.そもそも,私の財布の中に自分の食事代を払える金額が入っていないという問題もあったのですが.とりあえず,大学まで送ってもらって解散.Meshiと話をしながら先生の行方を気にしていたら,どうも鍵が閉まってたみたい.裏のほうに回っていきました.入れたのかな.
夜は,今は無き某サークルの先輩のIMIさんの部屋に泊めてもらうことに.とりあえず,Meshiの車を大学前の有料駐車場から出しておく.そのあと,IMIさんと某所で合流して,部屋に向かう.なんかIMIさんの部屋までたどり着いたのは今回が初めてです.いつも,途中でどこかに寄ったりしているうちに,なくなってしまうので.
特にまとめないで,シーケンシャルに書いていくと,量が増えますね.まぁ,一応流れがわかる程度にまとめてるのですが….
-
天気:晴れ
*PATH CONNECTED φ BROKE
壊れてしまうらしいですね,φが.φは結構丈夫そうだと思うのだけど,どう壊れるんでしょう.このφが空集合なら何も無いので壊れないような気もするし.そもそも,集合のφってなんでしょうか.何も入ってない入れ物?それなら,逆に壊れやすそう.って,全然そういうことではないのかも.
というわけで「φは壊れたね」を買いました.まだ数十ページしか読んでません.会話の中に,あの西之園嬢が登場しますが,どんな風に関わってくるんでしょうか.いまさらですが「女王の百年密室」も買ってくる.つぎはθが遊んでくれるそうなので,それも楽しみです.でもまだ「塗り仏の宴」を読んでない….
夕食はMeshiのところにカレーを食べに行く.ちょうど「φは〜」の初めの方を読んでたので,ちょうどカレーが食べたくなったところでした(いや,食べに行こうと思ってから読み始めたら逆か.しかも,昨日もTGCHのところでカレーを食べた気が…).
*最近の日記の天気の記述はいい加減なので信用してはいけない
午後の授業は休講らしいので,TGCHのところに行って,カレーを食べる.
久しぶりに,某ソフト(まだどこにも公開してないやつ)を作る.かなり遅れてます.待っている方,(まだ待っててくれてるなら)すみません.
今日は寝坊しました.本来なら今日は午前中の講義は無いのですが,補講がありました.寝る前は覚えてたのに,寝てる間に忘れてしまいました.というか,昨日は目覚ましもかけずに,帰ってすぐ寝てしまったようです.
奨学金の継続願いを提出してくる.学務から帰ってくる途中で,また美容室の人に声を掛けられる.タダで髪を切ってもらえるのはうれしいですが,そんなに切りたくなるほど私の髪って伸びてるかな…(伸びてるかも).日時を聞いたら学祭とかぶるので,断っておく.
奨学金の継続願いを今週中に提出しないといけないらしいので取りに行く.
今日はMeshiのところで夕食.授業中に何パターンか作っておいたルーチンを,USB-IOに入れて試してみる.そのうちの一つがビンゴでした.凄く単純な問題なようです.時間を空けずにただ連続して読み続ければ,32回くらいで,先読みしたバッファが無効になってくれるようです.というわけで,数箇所にメール.
今日はTGCHのところで,この前作ったノートPC用マウンタを車に取り付ける.付けた場所が平面じゃなかったので,適当に板を挟んで調節.両面テープ付けたのでで走っている途中に外れないか心配.そのあと,SZK君も乗せてUSBスピーカと変なマウスを買いに行く.車の中でノートパソコンを使うには,あとキーボードも欲しいところ.
HSP用のUSB-IOプラグインがWindowsXPで上手く動かないようなので,修正.XPだと,なぜか結果が帰ってくるのに時間がかかっているようです.デバイスからの応答を待つようにしましたが,ちょっとアンドキュメントな仕様を利用しているので,もしかしたら別の問題が出てしまうかも….データ書き込みでキャッシュが効いてしまってたりするのかと思って,FILE_FLAG_NO_BUFFERINGでバッファリングしないようにしてみたりもしたけど,結局だめ.そもそも,デバイスにWriteFileしたときって,バッファリングされないような….どうやったら,いいんだろう….
いつのまにか,某サーバのApacheでSSIが使えなくなってる.1.3.31だったのでApache権限奪えるかなと思ったのですが….いや,ちょっと思っただけで実行しようなんて思ってませんよ(汗).セキュリティーホールを突いて,自分より権限の少ないユーザの権限を得た場合には,不正アクセス禁止法に引っかからないのだろうか….そもそも,Apacheユーザはログイン不可能になってると思うし,不正アクセス禁止法の対象外な気もしてくる.
今日もなんだか身体の調子が悪いです.もう2週間以上続いてます.
Meshiの電話で起こされる.今日はおでんです.おでんを作っている間に地震がありましたが,おでんは無事でした.新潟の方は大変だったみたいですね.新幹線も脱線ですか,初めての事ですね.死傷者もずいぶん出てしまったようで,あまり不謹慎に面白がったり出来ないです.
BBR-4MGで立てたサーバの中身がすでにGoogleにキャッシュされてる….ファームウェア改造ツールはLibraryの方に移動しました.
サーバ立ててるとIPアドレスからすぐに私のページに辿り着けるので悪いことはできないですね(笑).ついでにブラウザのUser-agentに適当な文字列を入れてあるので,検索すると自分が行ったことのあるサイトのログが見つかったりします.
晴れてたので白馬まで星を見に行ったけど,着いたら曇ってきて雨まで降ってきました.オリオン座流星群が少しだけ見れました.
今日は数学と英語.英語は案の定早く終わる.
SZK君の自転車を回収するために上田の方まで.TGCHの車に自転車を載せるためにハンドルと籠を外す.帰りにモスバーガで夕食(?).そのあと,TGCHの車にノートパソコンを付けるためのマウンタ作り.板に金具やらゴムバンドを取り付けたり.帰ってすぐに寝る.TGCHから部品取り用にISAのサウンドボードをもらってくる.アンプICとか,PICとか色々載ってて遊べそう.
FreeBSD5.3-RC1が出てますね.RELEASEまであと一歩です.
ソニーが最小・最薄・最軽量のCDウォークマンとか出すみたいですが,殆どCDと同じサイズですね.というか,物理的にCDより小さくするのは不可能なので,最小とかはもうあまり意味が無いような….でも,本当にCDウォークマン……というかCD-ROMドライブはCD-ROMよりも小さくするのが不可能でしょうか.つまり,CD全体を収めておく必用があるのか,ということ.そもそも,CDなんて触れなくても読めるのだから,非接触でCD全体をスキャンして一瞬でメモリ内にキャッシュしてくれるくらいのドライブがあってもいいのに.電子顕微鏡並に微小構造まで写せるデジカメが発売されたら,他人のCDを写真に撮ってコピーするのが流行るかも.そうか,プレイステーションのCDが黒く塗ってあるのは,そういった不正コピーが流行るのを見越してのことだったのか(違).でも,可視光は通さなくても,赤外域では殆ど透過してしまうだろうから,赤外線撮影モードがあれば回避できてしまう(だから違うって).大体,あんな円盤が中で回っていると思うと,指を入れて止めたくなりませんか?それに,回転しているということは,機械的な部品があるということで,いつか磨耗して使えなくなる.回転させる必要が無くなれば,そのうちディスク状のメディアなんか時代遅れになります.きっと.(何かのSF小説でそんな会話が無かったっけか…?)
BBR-4MGのファームウェアをいじるツールをちょっと更新.ファイルを取り出せるようにしました.ついでに,おまけのGUIを少し使えるように.2MBのフラッシュと8MBのメモリがあれば,Linuxとかも動くんじゃないかなぁ.ルータ以外に制御用マイコンとして遊ぶのもいいかもしれない.自由に使えるI/Oはどれくらいあるんだろう.
Meshiのところに,カレーを食べに行く.ついでに宿題もやっておく.
最近話題になってた,インターネットに繋がったテレビパソコンを使ったサービスは違法と判断されたっぽいですね.サービス提供者の支配の度合いが問題みたいだけど.じゃあ,SETI@homeのデータにテレビやラジオの電波が混ざってて,それを解析して画面に表示するプログラムを誰かが作ってしまった場合はどうなのかな.色々な意味で可能性は低いけど,それに近いことが出来ないとも限らない.それでなくても,アンテナだけ立てて,特定周波数帯の電界をインターネットで流した場合はどうなるだろう.1Gbpsくらいあれば,そこそこの周波数帯をカバーできるかもしれない.大体,暗号化されてもいないデータを空中にばら撒いておいて,複製は禁止するっていう神経がどうかしていると思うのだけど.これだけ暗号化技術が発達しているのに,著作権法ばかりに頼るのはどうなんでしょう.
私のIPアドレスでググると某所掲示板が出てくるですが,日記をアップロードした時点ですでに色々書かれてました(汗).なんか,無意味にWAN側のLEDが点滅してるのは,もしかして結構アクセスされてますか?.まぁ,上りの帯域は普段は使わないので,問題無いですが….それにしても,IPは固定じゃないので,IPで書いておくのも問題かな.折角ダイナミックDNSの更新機能があるから,使ってみるのもいいかも.
今日はさらに体調が悪い.アルゴリズムとデータ構造はテストだったけど,すぐ終わらせて途中で帰る.全然頭は働いていませんでしたが,早く帰りたいという一心で機械的にやってたら何も考えないでも解答は出来上がってました.見直すなんてことしてないので,何書いたのかも覚えてませんが.で,帰ってすぐに寝る.
HSPでCRC32を求めるプログラムを書いたけど上手く動かない…と10分以上悩んだ末,思い当たったのは,算術シフトと論理シフトの差でした.HSPはunsignedが無いから常に算術シフトなんですよね.下らないことで悩んでしまいました.体調が悪いせいにしておこう.SOHO.BINの解読は進まず.
ユーザー名がroot固定なのは怖いので,変えておく.とりあえず,設定をHDDに保存してバイナリエディタで開いてrootとなっている部分を書き換えたものを読み込ませたらOKでした.これはファームウェアを書き換えないので比較的安全かな.ただ,パスワードが生で保存されているんですが….設定はログインしないと見れませんが,シリアルポートからごにょごにょすればパスワードを見ることができるので,ルータを捨てるときは注意しましょう.
私は,パスワードはなるべく使いまわさないようにしてたのですが,最近ちょっとサボり気味です.新しいパスワードを考えるのが面倒くさい時には,昔使ってたパスワードを使ったりしています.最近,ネット上で使うパスワードは,昔の某アカウントのパスワードだったり,某アカウントは,自宅サーバの昔のrootパスワードだったり.パスワードが破られると困る順にローテーションしていくようです.
まだ身体の調子が悪い.
CRCっぽいデータが付いていると書いたけど,普通にCRC32っぽいです.一度計算したときは,違う値になって何か細工がしてあると思ったのですが,さっきやったら同じでした.何を間違ったのかな.とりあえず,ZIPファイルから自動でファームウェアを作るプログラムも大丈夫そうです.CRCは無視しても動くみたいですが….
次の攻略対象はSOHO.BIN.バイナリエディタで眺めただけでは,どうやら何かのプログラムらしいこと,もともとはC言語で書かれていることくらいしか分かりません.CPUのメーカのサイトを見ると,どうやらMIPS系であるということが分かります.でも,MIPSのコードなんてまったく分からないので,手が出ません.しかも,ビッグエンディアンとリトルエンディアン両方があるようです.0x0007a120なんていう人間が決めたとしか考えられない数値が出てくるのでリトルエンディアンなのは間違いないと思いますが.バイナリエディタで眺めていても,これ以上先に進めないので,とりあえず,MIPSについて調べる.真面目にCPUのアーキテクチャから勉強する気はないので,とりあえず,どんなプログラムでも使っているはずのシステムコールとジャンプから.バイナリを見てるだけでも,ちょっとだけ分かってきました.というか,もともとヘッダなんて無いんですね.先頭からいきなりプログラム本体です.なんとなく全体を見回して,あとは逆アセンブルすることにする.MIPSの逆アセンブラは色々見つかったので,いくつか試す.オペランドが3つあるんですね.なんか,ポケステをいじってたころが懐かしくなります.読み始めていきなり,空のループを回してます.デバイスの初期化を待ってるんでしょうか…?ループの直後はnopを置いてある.これは遅延分岐対策でしょうか.だんだん勘が働いてきました.0x80001000から始まってると考えれば,コンソールに表示されるアドレスとぴったり合致します.無意味に同じアドレスに何度もデータを書いてるけど,I/Oはメモリにマップされてるということらしい.しかも,b2600000hに書き込むデータとシリアルポートに出力されるデータがそっくり.試しにHello world!を表示するプログラムを作って書き込んでみる(もちろん,ルータとしては働かないけど(笑)).普通にいけました.ただ,メインの関数が呼ばれた後は,違う方法で送ってるようです.まぁ,I/Oに直接出力するときは,シリアルポートの速度に合わせてウエイトを入れないと駄目みたいなので本来の方法じゃないのは分かります.ファームウェア起動後は何もしないと,ハブとしても動かないんですね.PCがネットワークケーブルが接続されてないと怒ってました.
にしても,これだけのものが量販店で数千円で買えるとなると,秋月とかで,マイコンボードのキットを買うのがバカらしくなってしまいそうですね.といいながら,私はワンチップマイコンはちゃんと触ったこと無いのですが.今なら3000円くらいで売ってるので,もう一つくらい欲しいかも.
BBR-4MGの情報探してたら,すでに私が書いた文章が貼られているのを見つけてしまった.勝手に転載するのは全然Okですが.
ファームウェアを見てるとPOP3サーバもどきが実装されている気がする.どうやって動かすのか分からないですが.あと,何かのIDとパスワードがハードコーディングされているのだけど,何に使うのかな.コンシューマ向けの格安ルータもかなり奥が深い.
昨日書いたPFS.IMGを編集するプログラムにファイルの追加機能を付ける.これで,追加・削除・置き換えの一通り動作がそろいました.ためしに写真を入れてみる.一応ちゃんと表示されてます.Web領域のファイルが800KBを超えた辺りで起動しなくなる.そういう仕様かな.最初から800KB近く使ってるので,あまり空きが無い.そういえば,コード領域にHTMLやJavaScriptの断片がかなり入ってるけど,これはWeb領域が足りなくなったからかな.というか,ルータの設定ごときで800KBもHTMLが必要なのがおかしい.ハードを設計した人もそう思ってるかも….ちょっと,HTML(拡張子はstmだけど)を覗いたら,JavaScriptが凄いことになってた.どこからか持ってきてそのまま貼り付けたようなスクリプトとか,無意味に複雑な分岐とか.ちょっと書き直したら,ほぼ同じ動作をするスクリプトが半分以下で書けました.1つのファイルを直しただけでで15KB以上削れたので,他もかなり削れそうです.コードを見てると,バイト単位でメモリを節約してそうな雰囲気なのに,Webの設定画面は悲惨です.まぁ,ユーザーに見えるところは贅沢な設計にしたいのかもしれませんが.にしても,ホームページビルダーで作ることはないだろ.
外からシリアル番号とかが分かるのは気持ち悪かったので,データを消す.UPnPに使ってるデータっぽかったので,たぶん大丈夫でしょう.
tcp_proto = 6という数字を見てあれ?と思ったので,良く見たら,udp_proto = 17というのもある.icmpは1か.これって,IPヘッダに含まれるプロトコル番号ですよね.ということは,同じように41を処理すれば,IPv4でカプセル化されたIPv6パケットが通るように設定できるのかな.ちょっと気になる.
ルータでHTTPサーバを立てたのは良いのですが,sshで某所に入って外からルータに向けて色々やってみる.セキュリティー的な問題は無いかと調べてたのだけど,このルータ.外部からログインできるようにしておくと,ログインしなくてもかなりの情報が得られてしまう.ルータの機種名,ファームウェアのバージョン,シリアル番号,MACアドレス,その他いくつかの設定内容が得られる.あと,Not Found表示にXSS脆弱性が存在する.悪用は…とりあえず出来ないような気がするけど,心配だなぁ.LAN側の1900でもHTTPDが動いてるのも気になるし….自分が使ってるソフトやハードのセキュリティーを気にしてる人ってどれくらいいるんだろうか.
BBR-4MGで遊んだ結果をLibraryに追加.もうちょっと書き足すかも.あと,数学の方も少し修正.間違いの訂正と,無意味にオイラーの公式とか書いてみました.
気になるのですが,このルータを買ってから使うまでにリバースエンジニアリングの禁止という条項を見てないのですが,これは解析はOKってことですよね?そもそも,それらしい契約書が無いです.CD-ROMが付いてたような気がしますが,「Windowsをお使いの場合」にしか登場しない物体なので,中を見なくても問題無いでしょう.とりあえず,怒られない限りは遊ぶことにします.さすがに改造ファームウェアの配布とかは著作権法とかに引っかかるので出来ませんが.
ファームウェアを書き換えると,ルーターの起動時のチェックで引っかかると書きましたが,とりあえず解決.シリアルポートからアップロードしたときに,Web経由で送るデータと同じイメージを送ると,最後の方のアドレスで2箇所書き込みエラーが出てたのですが,このエラーはアップロードしたデータを書き込むときに出るエラーではなくて,そこに書き込もうとしたらすでにデータがあったため出たエラーだと推察(フラッシュメモリは一度消してからじゃないと書き込めないので…).エラーが出ているアドレスは,サイズが書き込まれている部分とチェックサムが書き込まれているアドレスです.ということは,シリアルポート経由で送るデータにはそういう情報を付けなくていいということでは?.というわけで,余分な部分を消してアップロードしたら,無事に成功.チェックサムはむこうで勝手に付けてくれるみたいです.なんだか,ずいぶん手順から無駄が省けました.あと,ZIPの圧縮レベルは5でないと駄目みたい.6にすると起動に失敗します.コンソールからだと起動できちゃいますが.
あとは,PFS.IMGの中身.バイナリエディタで眺めてたけど,一つ分からないデータがある.数字の分布からして,更新日時でしょうか.とりあえず,PFS.IMGを編集するプログラムをHSPで書く.GUIのつもりで書き始めたけど3分で路線変更.テキストファイルにコマンド書いておいてそれを処理するように.とりあえず,ファイルの削除と置き換えは出来るようにしました.SOHO.BINは,どうやらこれで一つのバイナリプログラムのよう.MIPS系のコードなので,逆アセンブルできるかな?
最近のバージョンで,ファームウェアの自動更新機能が付いたみたいですが,http://www2.melcoinc.co.jp/pub/lan/bbr4mg.txtにアクセスしてチェックしているようです.「自動」と言いながら,どうもボタンを押さない限りは更新されないっぽい(?).まぁ,「新バージョンをチェックして,ダウンロードしてきて,展開して,ブラウザからアップロード」という手順を自動化したという意味なのかな.
思ったのだけど,解析を禁止しないのは,それなりの理由があるのかもしれない.例えば,内部でオープンソースなコードを使ってるとか.さすがにGPLなコードは無いと信じたいけど,あったらあったでソースコードを要求してみるのも面白いかもしれない.
まだ咳は止まらない.今日は数学と英語だけ.
実は,先週あたりにルータに変なファームウェアを入れて壊してしまって,ただのハブになってしまっていたのですが,寝てたら夢の中でシリアルポートに繋げというお告げが.そういえば,それらしきヘッダピンが出てたような….そのまま眠り続けると起きたときには忘れてしまいそうだったので,飛び起きてルータをばらす.まだ朝の4時です.ちょっと寒い.
夢のお告げ(?)の通りに,前に作った携帯電話用のシリアルのレベル変換をする回路を引っ張り出してきて,ルーターに繋ぐ.基板上の配線まで夢の中に出てきたまんまです(微妙に違うような…).自分で作っておきながら,ピン配置とか忘れてるので,この前買った雑誌の付録の「コネクタ・ピン配置大全集」が役に立ちました.これは,いけると思って,CPUのI/Oらしきピンから出てるパターンに繋がったヘッダピンがあるので,当たりをつけてに線を繋いでいく.とりあえず,3回目でビンゴ.なにやら怪しげなデータが出てます.オシロスコープでもあればいいのだけど,そんなものは無いのでパソコン側でプログラムを作ってシリアルポートのパラメータを色々いじってデータがそれらしくなるようにする.最初,9600bpsかと思ってたのですがどうやら115200bpsみたいです.パリティー無し,ストップビット1にして,見事にルーターの起動プロセスが見れるようになりました.で,眠くなったのでまた寝る.
大学から帰ってきて,今度はPCからデータを送れるようにする.今度は一発で成功.ためしに,デバッグモードとか色々見てみる.このコンソールからだけでも殆どの設定はできるのかな?とりあえず,ルータとして使えるようにするべく,メニューからファームウェアの書き込みを選ぶ.いくつか領域が分かれてたけど,とりあえずコード領域を選ぶ.そしたら何と「Xmodem」の文字が…これは,もういけると思って,ハイパーターミナルを起動して,適当に設定してファームウェアからバイナリエディタで切り出してきたファイルを送ってみる.転送には成功しました.そのあとデータ領域も転送.再起動すると,無事に起動しました.めでたしめでたし.
いや,この時点では全然めでたくない.元の状態に戻っただけです.目標はWebサーバー化.ファームウェアの書き込み方は分かったので,怖いもの無しです.で,ファームウェアはZIPで圧縮されてるのもバイナリエディタで見れば一目瞭然なので,展開して中身を書き換えます.で,圧縮しなおして,バイナリエディタでファームウェアを作り直す.ただ,ファームウェアに埋め込まれてるCRCコード(?)が合ってないので,普通に起動すると止まります.コンソールモードから起動するとOKみたい.で,無事にログイン画面が自作のHTMLに置き換わりました.外からアクセスできるように設定できるので,Webサーバになります.
人間,真面目にやれば何でもできます.
チップ抵抗などを半田付けをしていて,ピンセットを見失ってしまったときに,仕方がないので爪で押さえて半田付けするのって皆やると思いますが,どうなんでしょう.手際よくやらないと爪から熱が伝わってきて耐えがたい痛みを味わうことになります.しかも,熱いからといって手を離しても,爪が加熱されているので,熱から逃れられない!.こういう拷問がどこかにあるんじゃないかと思う苦痛です.Safiiに言ったらバカにされたけど,普段から電子工作する人なら,みんなあの苦しみを味わったことありますよね?
咳が止まらなくて,喉が痛いです.ちょっとだるいですが,熱はなさそう.
とりあえず,大学に行って,疲れたので一旦帰って昼寝.で,また大学に行って,授業中もウトウトして,英語の課題をやってから帰る.帰ってからまた寝る.とにかく眠いです.
まだ咳が止まらない.
今日はコンピュータアーキテクチャの発表.とりあえず,私の仕事は基本的に準備だけなので気楽に行きます.
なんだか咳が止まらないです.風邪かな.
普段使うWindowsの付属ソフトで一番使いにくいのは,電卓なような気がする….ペイントもメモ帳もかなり使うけど,電卓はUNIXのbcコマンドを使ってたりするし.そもそも,わざわざパソコン上で動かしているのに,実際の関数電卓よりも機能が少ない上に使いにくい.おまけで付いてくるようなソフトに愚痴を言っても仕方ないのだけど….
私は基本的に計算するときはキーボードで叩いた方が楽なので,bcコマンドで計算しますが,マウス中心な人はどうしているんでしょう.マウスで電卓のボタンを押していくのは無茶苦茶効率が悪い.折角,2次元の操作と表示ができるのだから,円形計算尺とかを画面に表示してぐりぐり回して掛け算割り算をした方が楽かもしれない.咄嗟に必要になる計算の多くは単純な乗除算なので,簡易の計算尺ソフトが欲しいかも.どこかにあるかな.
Cygwinを入れているか,いつもsshで何処かに繋いでいるような人じゃないとWindows上でbcコマンドを使うことは無いような気もしますが….
SambaのIPv6パッチ成るものがあるんですね.WindowsのSMBにもIPv6対応して欲しい気分.
最近,至るところで「(行政|法人)文書ファイル管理システム」というシステム(webpcgi.exe)を見るようになったけど,どこが開発してるんだろうな.それは調べれば分かるとしていいのです.これ,「行政」と「法人」の2パターンがあるのですが,我らが信大は「行政」版を使ってます.でも「法人」版を使ってる大学の方が多い.なにやらバグったHTMLを吐いているのでセキュリティーホールとか無いか心配になりますが,たぶん実際のデータはデータベースで管理されているので,CGIからはアクセスできない……のでしょう.きっと.
TGCHの電話で起こされる.14時間睡眠です.
火曜日にコンピュータアーキテクチャの発表があるので,その準備.とりあえず,適当に作ったpptファイルをグループの皆に送っておく.なんか,すごくいい加減な仕事をしてるような気がして後ろめたい….
なんだか風邪気味っぽいです.というわけで,早く寝る.
今日は数学の演習とか英語とか.今回の英語の先生は授業を早めに終わらせてくれるのでうれしい.
MeshiのところのサーバをCVSupしてmake worldする.無事に再起動できるようになったみたいです.SMPでハイパースレッディングの2個目のCPUの認識で少しの間固まるのは,どうにか成らないのかな….
昨日から大学にテレビ局の車が来てるのは,ノーベル賞関係かな….と思ってたら,今日の化学賞が発表されたみたいですね.残念ながら信大の遠藤教授は選ばれなかったみたいですが.ただ,カーボンナノチューブあたりは急に色々出てきたので,ノーベル賞取ってもおかしくない人がたくさんいるのが大変そうですね.発見した人とか,合成した人とか,応用した人とか.
ここから話は脱線.まだ信大の研究室のサイトでしか確認してませんが,カーボンナノチューブってダイヤモンドより熱伝導率が高いんですね.カーボンナノチューブ製のCPUヒートシンクとか性能が良さそう.でも,ダイヤモンドの透明ヒートシンクも捨てがたい….巷で売ってる銅製の高級ヒートシンクよりよっぽど高級感,性能ともに優れてるのだから,お金持ちは作っちゃいそうですね(そんな金があるならヒートシンクなんかにこだわりませんが…).
昨日インストールしたBSDの環境をもう少し整える.とりあえず,Firefox入れたり,Windowsのフォントをコピーしたり.なんだか,Windowsは使わなくても良い様な気がしてきました….あと,VAIOのジョグダイヤルを使えるように.ちょっと動作が気に入らないので,後でドライバいじるかも….
VAIOにFreeBSD5.3-BETA7を入れる.すでにBRTA1が入ってますが入れただけなので,CVSupするより,新しく入れなおしたほうが楽そう.BETA6をダウンロードしておいたのですが,インストールしようと思ったら最新がBETA7に成ってたので,インストールCDを作り直す.
XFree86の方が慣れてるけど,先がなさそうなので新しく標準になったXorgを使う.とりあえず,説明の通り Xorg -configureで設定を作る.中身は,XF86Configと殆ど同じ書式なので,特に気にしないで設定できました.KDEにしようかと思いましたが,XFCEが軽くてよさそうなのでそっちにしました.X立ち上げてもviやeeでテキスト編集しているのでブラウザ以外のアプリケーションは暫くいいか….
IPv6が普及し始めたころに出てきそうなセキュリティー問題.Apache等でDeny from allのつもりでDeny from 0.0.0.0/0.0.0.0と設定されていると,IPv6からはアクセスできてしまう罠がある(笑).逆にこれを使えばIPv6オンリーのコンテンツが作れる.
今日は晴れていたので,望遠鏡を車に乗せて星を見に行く.TGCHのバイトが終わるのを待ちながらアルビレオとかを見る.天王星と海王星も見ようと思ったけど,高度が低いので街の明かりで場所が良く分からない….10時半ころにTGCHが帰ってきたのがだったので,出発.目的地は,東方向には開けてるけど,後ろが林であまり良い場所じゃない.さらに月が出てるのとちょっと曇ってる感じなので,星雲とかは見えないかも.なんとか,ウサギ座Rのクリムゾン・スターを見つける.ボケてしまってあまり真っ赤には見えなかったのが残念.
月が無くて晴れているときに,またどこかで星を見たいなぁ.