2004-01-31 (土)
- 天気:晴れ
午後まで寝る.TGCとSafiiは泊まっていった.TGCは帰ったけど,Safiiは今日も夜まで私の部屋でプログラム書いてました.
この日記はフィクションです.登場する人名・団体名・地名・職業などはぜんぶ架空のものです. なので実際のものとは何も関係がありません. それから,写真のように見える画像はCGもしくは念写によるものです.
今日は符号と暗号の試験.できはまあまぁ.電卓でRSA暗号とかやるので,キーを叩く手が疲れる.復号化したら,元と違うものが出てきてしまったので,何度かやり直してどうにか答えを合わせる.ただ,最後の問題に出てきたヤコビ記号とか,ルジャンドル記号を良く覚えてなったので,それっぽく回答を書いたけど,間違ってる.
というか,そのあと英語の試験.問題はテキストから出すといっていたので,慌てて前半部分だけでも勉強したら,問題が全部後半からでてるし…最初の問題はさっぱり.2問目は,最近やったような内容だったので,なんとかなった.そのあとの問題も,どうにかする.最初の問題は選択問題だったから3/1くらいは当ってると嬉しいなぁ.
なんとなく,TGCとSafiiとMeshiにつれられてラーメンを食べに行く.プログラムを書くのと引き換えに奢ってもらう.そのあと私の部屋で何かする.
今日は人間行動への数理的アプローチとかいう講義の試験.中身はゲーム論.勉強してなかったのでどうかとも思ったけど,意外と簡単でそこそこできた.Meshiも同じ講義受けてるのに試験にいなかったような…(諦めた?).
そのあと,職業概論とか.不景気でも別に良いような気がします.消費が減れば環境にも優しいし.もっと不景気になって,完全失業率50%とかになったら,どうなるだろう.案外,国が破綻してしまうくらい景気が悪くなっても,社会の仕組み自体を変えてどうにか乗り切れそうな気もする.本当に危なくなったら,資金のあるところから強制的に税金として集めて,社会保障制度とか生活保護を充実させるのかな.大体,皆が仕事をしなければいけないという思い込みが間違ってるような気がしてならない...というか,仕事したくないなぁ.
昨日はSafiiとMeshiは帰ったけど,TGCは泊まっていった.
今日は線形代数と物理の試験.線形代数はそこそこ.ただ,2問解けなかった.この前も間違ったのは2問だと思ってたのに他にも間違いがたくさんあったから,今回もあまり良くないのかもしれない….問題の意味は分かるのだけど,正確に解けないのはどうしたらよいのだろう.やっぱ,集中力が足りない?物理は,良く分からない.とりあえず答えは出しておいたけど,説明が不十分だと点がもらえないらしいのでちょっと不安.最後の問題は半分やって,面倒になって提出.少し残り時間があったので,やった方が良かったような気もしますが,きっと,他の所で点数は足りてるでしょう.
またTGCとSafiiが来て勉強会という名の下に遊ぶ.ちょっとだけ,符号と暗号の勉強.というか,別の某プロジェクトのついで.RSA暗号を電卓でやらなきゃならないのですが,なんか嫌だなぁ.高速指数演算とか,電卓叩くより,パソコンのキーボード叩いてその場でプログラムを書いて解かせた方が早いんじゃないかと思う.ためしたら,TGCが電卓で計算するのと同じくらいの時間でプログラムが書けました.まぁ,プログラムにしたら実際に計算するための部分は4〜5行だし.拡張ユークリッドの互除法とかも,電卓をひたすら叩かなきゃなので面倒くさい.何も見ないでRSAのプログラムを書けたら優をくれるとかなら楽なのに….
そういえば,計算機科学入門の先生は,慌てて授業をやってたけど,来週の講義はやらないのかな.試験期間だし講義をやらないのかもしれないけど.
TGCとSafiiとMeshiが来て勉強会という名の下に遊ぶ.ついでに,Safiiの第三回誕生会.もちろん,3歳なわけではなくて,今年3回目の誕生日パーティ(意味不明).ケーキを買ってきたりする.一応,物理の勉強を少しやってみる.
結局KWTのとこに泊まって朝はそのまま大学へ.夜中ずっと話をしていたので眠い.講義のあと,部屋に帰って寝る.
そろそろ試験らしいです.勉強とかしないとかなぁ.というか,自分で取ってるどの講義が試験があるのかも確認してなかったり.
来週は,英語の発表か….英語でディベートとかしないといけない.
昼頃Safiiのとこで起きて,その後またプログラミング.正直言って,自分では書きたくないソフトなのだけど,需要はあるみたいなので….誰かが代わりに作ってくれないかなぁ…と,思う.
SafiiとTGCも一緒に私の部屋に.なぜか,ネットに繋がらない.arp who-hasなパケットが大量に飛び交ってます.みんなゲートウェイに繋がらないようです.近くのIPにはpingが通るので,明らかにゲートウェイがおかしい….しかたないので,プログラミングの続き.とりあえず,動き出してデバッグできる状態になりました.Safiiが帰ってすぐインターネット環境が復活しました.とりあえず,繋がらなかったのはSafiiのせいにしておこう.
そういえば,もうすぐ試験です.というか,来週から?
今日は,符号と暗号とか,英語とか,ロボティクスとか.久しぶりの認知心理学とか.英語はテスト…さっぱり分かりません.ロボティクスは,やっと上手くいきそうな感じがしてきました.コンテストまでに仕上がるかどうかは知らないけど….
昨日はSafiiの誕生日だったらしいので,誕生パーティという名目で夕食を食べに行く.そのまま泊まって,プログラミング.なんか,あまり乗り気じゃないのだけど….たぶん,私の名前では出ないソフトなので,細かいことは書けません.
今日は月曜の時間割らしいです.なので,また英語がありました.明日も英語があります.明後日も英語があります.もう英語はいやです.
なんだか眠いです.いつものことですが.
今日は計算機科学入門とか,情報科学演習とか.午後の情報科学演習はもう終わってるので行く必要は無いのですが,なんとなく皆集まる.
最近,プログラミングする気にならない.作りたい物は無いわけではないのだけど….最近はオブジェクト指向だ何だといっぱいありますが,結局はキーボード叩いてプログラムを書かないといけない.プログラミング言語なんかでプログラムを書くなんて古い…なんて時代は暫く来ないか.
疲れたので,Safiiのとこに行って,夕食をご馳走になってくる.英語をやろうかと思ったけど,結局食べるだけ食べて帰る.Safiiも横綱の真意を分かってくれなかった(笑).生協には「禁煙」が英語で書かれてたから,相撲の王様ってことで横綱だったのだけど….ちょっと無理があるかなぁ.
今日は朝から授業.なんか,眠い.講義中に携帯に覚えの無い番号から電話がかかってきてたので,後でかけなおしてみたら,モデムかFAXの音が….モデムとお話ができるはずも無いので,そのまま切る.
どうでも良い話だけど,生協の食堂に「席取り禁止」の張り紙に関取のイラストが入っているのだけど,なら禁煙の張り紙には横綱の絵を描くべきだ…と言ったのにTGCには通じなかった.というわけで,どうですか?>生協の人(笑).
Safiiが来て起こされてMeshiのとこへ.英語の課題をやるはずが,いつの間にか時間が過ぎていく.
なんか,4次元シューティングゲームとか面白そう.変な方向から敵が来たらどうやって打ち落とすんだろう….
今日は,MeshiとSafiiも一緒に長野.起きて,そのまま駅に.TGCのとこから駅への道が良く分からないので,TGCを起こしてつれてってもらう.長野に行って,Safiiの部屋を見てから,吉野家で牛丼.吉野家で牛丼食べる初めてかもしれない.で,その後,某所につれてかれたり,本を買いに行ったり.松本に帰ってきて,家に向かう途中でSafiiが松本城に行くとか言い出したので,みんなで松本城まで戻る.なんかのイベントで氷で何か作ってました.で,寒いので今度こそ帰る.Safiiはバスの予定だったのに,Meshiの提案で歩きで帰ってきたし.1時間以上,雪が降る中をさまよいました.
あらら,Shadow Penguin Security閉鎖ですか.Office氏のとこもどうなったのかなぁ.私は外野なので,何を言っても意味無いかもしれませんが.確かに,問題もあるでしょうが,だからといってこういうサイトが無くなってしまうと,かえって後で大きな問題が起きるかも….問題点を公開する人がいなくなったからといって,問題が無くなるわけでは無いはずなのに.実際,セキュリティーなんてあって無いようなサイトもかなりあると思います.身の回りにあるものだけ見てても,問題だらけだしなぁ.別に,システムに侵入されたりWebページ改竄されたりしても,その会社の損害になるだけですが,個人情報を扱ってる場合はそれだけですまないです.社外の人にはその会社のセキュリティーがどうなってるなんて普通は分からないので,個人情報を渡すときは信用するしか無いのですが….
TGCが寿司飯を10kgほどバイト先から貰ってきたらしいので,なぜかカレーで食べる.不味くはないけど,あまりたくさんは食べたくないなぁ.Meshiとかは美味しいと言ってたけど.
明日は,長野に行って部屋の契約を済ましてくる予定でしたが,向こうの都合が悪いらしいのでまた後日.TGCのとこで寝る.
明日が休みなので3連休です.
いつの間にかUNYUN氏のShadow Penguin Securityに「サイト維持に関するお知らせ」なんてものが….やっぱり朝日新聞の影響ですか….なんだかなぁ.いっそのこと,不正アクセスのライセンスを発行してみれば面白いのに.資格を取っておけば,脆弱性を見つけるために企業のサーバに侵入してもOKとか.まぁ,前もって通知するとか,暫くは問題を公開しないとか,制限は必要でしょうが….あと,侵入してOKなら不正アクセスとは言わないか.
マイクロソフトから,Windows98のサポートについてなんだか出てますが,なんか,いっぱいあって複雑.2006年6月までのは「延長サポートフェーズ」だそうで.「メインストリームフェーズ」は,Meも含めて9x系のOSはみんな去年の12月で終了したのか….9x系のOSなんか,そろそろサポート止めたいメーカがたくさんあるでしょうに.
今日は,午前も午後も物理.講義のあと,「C#」の2文字目は「#(いげた)」なのか「♯(シャープ)」なのかという議題でもちきり.どう見ても,シャープじゃないんですが….マイクロソフトのサイトでも半角の#で書かれてるし….いつのまにか,シャープと読むようになってたのか.実は,「しー・いげた」もしくは,「シー・ハッシュマーク」と読むのが正解という結論(笑).
Meshiのところに夕食を食べに行って,そのままそこで寝る.
今日は線形代数の一回目の試験.2回のうちの良い点を成績にするみたいなので気が楽だけど,余り出来がよくなかったなぁ.前半は良く出来たので,最後の計算の面倒なことろは諦めて式だけ書いて提出したら.最初の問題が途中で計算間違ってて,その後が皆違う答えになっていた….分数が出てくる計算を間違わずに計算するなんて,私には無理です(笑).
生協で,安売りされてたGIGABEATの抽選に当たってしまいました.言われて生協に行ったら私の名前が書いてあるし….というか,元々TGCの代わりに応募したので,私のものにはならないのが残念.まぁ,私は音楽聞かないので,ハードディスクとしての価値しかありませんが.
四季・秋が置いてあったので買いました.財布の中が100円未満だったので,TGCに借りる.内容は,白だったのでFの時代かと思ったらもっと後でした.なんか,読み始めは違和感ありすぎ…予想していた視点と違うからだろうか.保呂草さんかな,と思ったらやっぱりそうでした.偽名増えすぎ.四季さんはなんか人間らしくなってきてしまいました.まぁ,前の方が人間らしかったというべきなのか.そういえば,3年前というのは,意図した一致なのかなぁ.というか,冬はどうなるのだろう….
そのあと,カレーを食べに行く.なぜか,カレーの食べ放題…でもカレーをそんなに食べたく無いなぁ.
昨日はKWT邸で寝てしまったので,昼ころ帰ってきて,昼寝.夕方起きて勉強しようと思ったら,何か思いついたので,それについて考えていたら夜になってしまった.勉強がんばろう.
今日は,昼頃Safiiに起こされました.KWTのとこで勉強会.…のはずが,いつの間にか,某大学の某学科の某サーバのクラッキング大会(?)に.とりあえず,nobody権限で自由にコマンド実行したり出来るのを確認したとこまで.それ以上は,さすがにヤバイ(というか,この時点で問題?)な気がしたので,私は止めましたが,Safiiは地道に何かやってました.
そのあと,カレーを食べに行く.なぜか,カレーの食べ放題…でもカレーをそんなに食べたく無いなぁ.
今日は眠いです.とりあえず,暗号の授業を受ける.なんか,計算が大変.答えが出ても,間違ってないことの方が少ない(笑).これじゃあ,テストが心配だ.でも,ルジャンドルとかヤコビとかいう名前まで出てきて,ますます数学チックになってきました.というか,先生も理学部の人だし,思いっきり数学なんですが.あとは,英語とロボティクス入門.
拡張子が.asmなファイルを読んでいたら,
CALL FUNC_A AND EAX,800000FFH JNS L_A DEC EAX OR EAX,0FFFFFF00H INC EAX L_A: MOV EDX,[EBP-4] MOV ECX,[EBP-8] MOV [EDX+ECX],AL と,いう感じのコードが出てくるのだけど,どういうことをすると こんなコードになるんだろう…. コンパイラが最適化してくれても良いような気がするのだけど, 何か不味いのかなぁ. 手元のVC++で試しても,こんなコードは作れなかったのだけど…. アセンブラも奥が深い. とりあえず,今日はやっと探していたルーチンを見つけられたので, ここからが楽しそう. というわけで,暫く続けてた,某ファイル共有ソフトの通信の暗号がやっと解けました. 長い道のり…でもなかったかな?. というか,数十万行もあるソースやら,デバッガやら,バイナリエディタとか, パケットキャプチャしてるコマンドプロンプトやらで,デスクトップが いっぱいなんですが….案外,Windowsってたくさんのことを同時にやるのには 向いてないのか….とりあえず,20個くらいのウインドウが同時に見渡せて, 50個くらいのウインドウの中から目的のウインドウがすぐに見つけ出せるような GUI環境が理想なのですが…. で,鍵の交換とかどうやってるのか気になってましたが, これって,プロトコルとアルゴリズムが分かってしまえば,パケットキャプチャしてる だけで通信内容が解読できちゃいますね. 鍵の交換は公開鍵暗号とか使ってやれば,解決できるのに…. というか,内部にRSAらしきコードを持ってるのに, 通信やデータの暗号化には使ってないことが分かってちょっとがっかり. そういえば,作者の47氏の発言を読んで見たら,それを仄めかしてる部分がありますね. まだ,プロトコルの中身は分かってませんが,暗号は解けたので, あとはパケットを眺めてれば大体分かるでしょうか. なんか最近,妙な技術ばかり身についてるような…. そんなに真面目にやってなかったけど,解析に何十時間もかかってしまったような. こんなことは,京都府警ハイテク犯罪対策室にまかせておけばよかった. 気になるのは,この解析をした人は給料どれくらい貰ってるんだろう. 仕事じゃ絶対にやりたくないなぁ. // 某ファイル共有ソフトの通信の暗号が解けました…2バイトはダミーなのね…
Windowsのコマンドプロンプトの動作が不思議.スペースの入ったフォルダにあるファイルを開こうとして,「"〜\My Documents"\〜\〜.txt」と入力してしまったのだけど,問題なく開ける.ダブルクォートの後に文字が続いていれば一つのパラメータとして認識するのか.と,思ったら「"〜\My Documents\"〜\〜.txt」は開けない.ためしにパラメータを表示するプログラムを書いて見たら,ダブルクォートのダブルクォートの前のバックスラッシュだけエスケープ文字として解釈されるみたい.さらに「〜\My" "Documents\〜\〜.txt」は開ける.パラメータだけでなくて,コマンドにもダブルクォートを混ぜてOKみたい.argv[]の中身が妙な事になるけど(^^;.ただ,内部コマンドに関しては,だめみたいなので,外部コマンドと内部コマンドを見分けるのに使えるかも(笑).
朝起きたら,講義の10分前だったので,慌てて大学へ.何とか間に合って,宿題も提出して一件落着.今日は線形代数.物理はまだ無いみたいで,午後も線形代数.
とりあえず,帰って寝る.ためしに,逆アセンブルしたソースのいくつかの関数をCで書き直してみる.思ったより,Cで書き直すだけで,雰囲気(何の?)が出てきますね.ただ,3つ関数を書き直しただけで1時間経過.というか,元のソースが40万行以上あるので,明らかに全部は無理.
Meshiのとこに,SafiiやTGCも集まって,線形代数の宿題.とりあえず,私は考えてる振りをしながら,プログラムを書いてる役で(笑).でも結局,いつも通り手伝うことになる.クラスのコンストラクタがオーバーロードされて複数ある場合に,ひとつのコンストラクタから,別のコンストラクタって読んじゃいけないんでしたっけ….メンバ関数の初期化のために,引数なしのコンストラクタを定義しておいて,引数を持ったコンストラクタから,呼び出そうとしたんですが,意図した結果にならない.使えないなら,コンパイルエラーにしてほしいなぁ.それとも,私の書いた別のコードに問題があるんだろうか….
そういえば,水曜日に提出しなきゃいけない宿題の存在が明らかになりました.
この前,消してしまった,書きかけのプログラムを書きなおす.一度作った物を,もう一度作るのは嫌だなぁ.しかも,前より綺麗に書こうとして,失敗して逆に読みにくくなる.
最近はアセンブラ.ソースを読んでると複雑なアドレッシングモードがたくさん出てきて,かなり疲れます.コンパイラが最適化したコードを読んでると,掛け算と足し算したいのに,当たり前のようにLEA命令使ってるし.なんだか,CPU自体の仕様が見えてきて面白いかも.
office氏がasahi.comに登場してますね.というか,ことの発端はずいぶん前のことですが.ただ,「運営側が想定しない指示を送って」ってどうなんでしょう?URLの入力を間違ったり,フォームに間違ったデータを入力してしまうと,「想定しない指示を送った」として不正アクセス禁止法に触れたりするんでしょうか?なんだか,善意でやったのに,犯罪者に仕立て上げようという意図が感じられるんですが….私も妙なCGI見ると,「とりあえず適当なパラメータを渡してみる癖」があるので怖いなぁ.というか,何でこうWebって穴だらけなんでしょうか.誰でも作れるけど,ちゃんとしたものを作れる人が少ない上に,運営を決定する人たちがそれを分かって無いのか.そういえば,信大のシステムも凄いことになってます.教室のPCが放置されてて,ちょっと頑張れば誰でもrootになれちゃうのは,そこを使って講義をしている先生も知ってるのに,誰も対策をしないし.新しく入ったキャンパス情報システムなんて,最初は凄く酷いものだったし,情報工の掲示板はXSS問題あるし,某CGIはサーバ上のファイルをいじれるし.全ての人が常識的な行動しか取らないことを前提に作られてるからなぁ.っと,日記に書いたりすると,問題になるかな.
なんとなく,自分で書いたソフトを逆アセンブルして眺めたり.VC++に最適化されてる部分を探したり.バイナリコードとニーモニックのがなんとなく分かってきて,がんばればx86なCPUの命令もハンドアセンブルできるかも.コードをバイナリエディタで見て頭の中でトレースできる人とか,やっぱり居るんだろうか.HSPでインラインアセンブラ見たいなことが出来るモジュールでも書こうかなぁ.というか,ネイティブコードを吐くHSPコンパイラなんてのも面白いかも.変数の型が実行するまで分からないので,あんまり高速化にならない気もするけど.なんか,最近時代の流れに逆行しているなぁ.
なぜかVAIOの左クリックがフニャフニャした感じなので,開けて見て見ると,止めてあるはずのところが,一箇所取れていた.瞬間接着剤で止めたら,右クリックと同じ感じになったので良かった.というか,こういう力の加わるところはネジで止めるかなんとかしてください….
なんか,今日は別の所でたくさん文章を書いたので疲れ気味.
明日から大学です.いきな英語があるし…課題も終わってない.というか,休み中にやる予定だったことが殆ど終わってません.
松本に帰ってきました.やっぱり自分の部屋は良いです.
なんとなく,IntelからPDFをダウンロードしてきて,CPUの命令リファレンスとか読み始める.どうでも良いですが,NOPのコードの90hってXCHG EAX,EAXだったんですね.昔,Z80な環境でハンドアセンブル(16進数でプログラムを書く)に挑戦したときは,確かNOPは00hだったと思うのですが….何で,90hなんて中途半端なのかと思ってたら,別の命令だったのか.というか,00hでNOPになって欲しい.
関係ないですが,私の環境で「ふくごうか」を変換すると「複号化」が出てきたんですが….いったい,何がしたいんだろう.±を付けたいのかな.復号と複号って見た目が似てるので,パソコンで打つときは要注意です.ためしに,Googleで「複号化」を検索すると…いっぱい出てきます(笑).
今日は昼まで寝る.日記用のCGIを書く.1時間半の超てきとースクリプトですが,とりあえず某所で動いてます.ここの日記にも使いたい気もするけど,今までのデータの変換が面倒だし,まだ動作が不安だし,今回は見送り.
大晦日の問題,Safiiは解けたようです.う〜ん,ちょっと悔しいけど,作った甲斐がありました.もっと,面白くて難しい問題を作りたいけど,そう簡単には思いつかないからかなぁ.問題は解くより作るのが難しくて面白いのかも.あぁ,なら問題を作れという問題を出すのが一番という結論に(笑).
明日は,松本に帰ります.課題もやらないとだし….
あけましておめでとうございます.今年もよろしくお願いします.
書く事が無いので,昨日の問題の解答とか.とりあえず,「n! = 2^a1 * 3^a2 * 5^a3 * 7^a4 * 11^a5 * …」と,素因数分解して,明らかにa1>a3であるので(これくらいは許してください),「n! = 2^(a1-a3) * 3^a2 * 5^0 * 7^a4 * 11^a5 * … * 10^a3」とできます.ここで,「10^a3」で割ると,n!の末端の0が全部消えます.そうなると,問題の場合は,1の位は「5」になってますが,n!/10^a3が5の倍数になることは無いので,この式を満たす自然数nは存在しません.ちなみに,昨日の「304888344611713860501505000000」は,28の階乗に1000000を足した値です.この問題から,n!の0を除いた一番下の桁が5になることがないということが分かりますね.さらに,a3さえ求めれば,終わりに0がいくつ付くかも求められます.意味は無いですが….そういえば,大きな数の階乗の終わりに付く0の数を求める問題がずっと前の数学オリンピックの問題にあったと思います.
なんだか,MD5は面倒くさそうであまり理解してなかったのですが,改めてRFC1321を読んで見ると,結構シンプルなアルゴリズムでした.せっかくなので,HSPで書いてみる.マクロを多用して実装すると,最適化の無いHSPでは極端に効率が悪くなりそうだったので,なるべく効率が良くなるように.というか,HSPのコードの最適化ツールが欲しいかも.不要な括弧と,定数部分くらいはコンパイル時にどうにかしてほしいなぁ.あと,使わないモジュールとかも自動で切り離して欲しいし.というわけで,サンプルスクリプト置き場にモジュールを追加.そもそも,サンプルスクリプト置き場って,ずいぶん分かりにくいとこにあって,たどり着く人が少ないような気がする….