はっかー部!

ファイ 結成!

 昔々世界はいくらかの大国に支配されていました。それぞれの大国はとても反映していて、国民は幸せに暮らしていました。
 しかし、その国境では絶えず戦争が起きていました。そこでは姑息で卑怯な手段が日常のようにつかわれていました。
 ある日、いつものように人々が戦っていると戦場に美しい女神が現れました。女神は今まで彼らが見たことのない武器を持っていました。人々が驚いている中女神は笑顔で言いました。「死ね」


「うわぁー、あいつら遊んでんじゃねぇか。」
「ぼくらがいえることじゃないけどね...」
「でも、このせいで部費を減らされてるんだから腹は立つよね。」
僕は田辺直大ヒロ、高校2年生パソコン部に所属している。ぼくの所属しているパソコン部は通称ハッカー部。なぜこんな通称がついてしまったかというと、ひとえに先輩方が色々やらかしてくれたからだ。僕の先輩は3人いた。この先輩たちが何をやらかしてくれたかというと、1人は市立図書館の蔵書検索システム(通称:OPAC)を不正に改造した。不正に読み取れないデータをサーバーに送信してエラーを出したり、そのPCで市のシステムにアクセスしたり(LAN用語1が市役所とつながっていたらしい)したが、無念にも監視カメラ映像によってすぐばれ観察処分となった。ぼくらは身を尽くして「ハッカー部」の名に傷をつけなかった先輩に敬意をはらい「バカ先輩」と呼ぶことにしている。さらに、県立高校であることを最大限生かして県サーバーにRAT用語2を入れることに成功した先輩もいる。しかし、その先輩は2/24に巨大な画像ファイルをbotコンピューター(市役所LAN内)から県サーバーに送らせ一定処理を行いbotコンピューターに送り返す。という作業を繰り返させ回線に負荷をかけてた。(その先輩は回線がただ重くなっただけと勘違いされたので何もとがめられなかった)
などなど...書き続けると頭が痛くなるようなことをやってきている。
そして、後輩であるぼくらにその知識をたたきこんで卒業したのだ。
やっと今に戻る。今ここにいるのは同級生のパソコン部員、山口雅彦カズと大野渚。
 生徒会がPCを買うということになり、それによってぼくら様々な部活動の部費が下がった。そこで、ぼくらが生徒会のPCを(不正に)監視している。
「おい、直大このUI用語3みにくいぜ。」
「しょうがないじゃん突貫工事だもん。1晩で作ったんだよ。」
「生徒会どうする?今度の評議員会に出してやる?」
「それが一番いいだろうね。これで不信任が出れば生徒会選挙やり直しだし、出なければそれでいいし。」
ガラガラ
「すいませ~ん!遅れました!」
「遅いよ、いろは。見てよこれ、直大が作ったやつ。」
「わぁ~すごいですね田辺くん。で、これは何なんですか?」
「生徒会のPCの画面をこっちに表示してるんだ。」
こいつは、浜村いろは同じ学年だ。
「本当にみなさんすごいですね。なんでそんなの作れるんですか。」
「いろはだって先輩に教えてもらったでしょ。」
「私はPC部はプログラミング出来ると思って入ったんで...」
「いや浜村、プログラミングが出来れば簡単だぜ。」
「競技プログラミングなら出来るんですけど...」
確かに、競プロは出来るけどソフトが組めないとかその逆は聞いたことあるなぁ。
「どのくらいできるの?」
「えっ、え~っとブルーコーダーです。」
「えっ、ブルーコーダー!すげえなお前。」
「ブルーコーダーってDiv1だっけ?」
「私はそうです。」
「ふぇ~すごいね、いろは」
ブルーコーダーとはTopCoderのレートの一つ。TopCoderとはいわばプログラミングの大会みたいなものだ。ただいくらか特徴的な所もある。まず、TopCoderが開く大会のようなもの「SRM」は月に1~2回も行われる。そのSRMでは問題が出され参加者が問題を解く。(あってたらポイントが加算される)一定時間後、参加者が提出したコードが公開される。すると、参加者達は他の人が出したコードのバグを見つける。見つけられた側はポイントをいくらか奪われ、見つけた方はいくらかポイントが加算される。ポイントがたまればレートも上がる。TopCoderでは、レートは高い方からレッドコーダー、ブルー、グリーン...と続く。オンラインで世界同時なので、日本では深夜にあたる時間に行われることもある。当然、問題文は全て英語だ。だからぼくは諦めた。
「そういえばヒロ昨日のニュース見たか?」
「いいや、何かあったの」
「○○県××市の市議会議員が政務活動費を不正流用していたらしいぜ。」
「政務活動費の使用明細は自治体によっては公開しているところもあるようですが、していないところもまだ多いそうなので発覚が遅れたんでしょう。」
「うちの市はまだ公開してないから叩けば埃が出そうだけど?」
ぼくらは巷のPC部とは違うところが1つある。それは、

「やってみるか!」

『やろう!』

ハッキングの知識が並外れていること。
「ぼくらで活動するのって初めてだよね。」
「そういえば先輩方はやる(ハッキング)するときなんて名乗ってたっけ?」
「忘れてしまいましたけど新しく名乗ればいいんじゃないですかねぇ。」
「新しくっつってもなぁ、おれらが考えるとどうしても中二病臭くなりそうだしなぁ。あっそうだ、はやぶさってどうだ?おれ的にはかっこいいと思うんだけど。」
「ねぇヒロ、私ははやぶさってベタベタの命名だとおもうんだけど。日本人って困ったらなんでもはやぶさだもん。新幹線に、小惑星探査機、戦闘機挙句の果てには某光通信にまで。」
「あかつきはどうだ!」
「Goo●leの画像検索で検索すればナ●トとか、その他アニメ画像がたくさん出てきそうね。」
「phiなんてどうでしょうか?」
「いいと思うけどそれどういう意味なの?」
「ギリシア文字のΦです。直径や口径を表すのによく使われますが、黄金比も表します。」
「ぼくはどうでもいいけど。」
「わたしも。」
「どうでもいいって...なんでみんなそんなに横文字が好きなんだ?俺のでもいいだろ!」
「サイバー関連だと横文字の方が悪目立ちしないし、いろはの方が独創性があるでしょ。」
「そういえば先輩たち県サーバーにRATを入れてたけど、どこにおいてるんだろう?」
「ポート用語4を片っ端から試してみるのはどう?ねっヒロ!」
ぼくかよ...
「大野...なんでツール作りといえばぼくなの、しかも先輩がポートを開放しているとは限らないし。」
「確かに、メールやらwebやらならポートをわざわざ開けなくてもいいもんな。」
「せっかくなんだから名前も変えたんだし新しく自分たちで設置しようよ。」
「ナイスだな。ヒロ!頼んだぜっ」
やっぱりぼくか...
「カズ、RATにするんだったらその辺教えてくれよ。」
「わかってるって!」
「なら、明日ね。」
「おれは、そろそろ帰るぜ。」
ぼくも帰るか。
スパイウェアで送るといってもExcelファイルだよな。すべて送らせるのが1番だけど、一気に送るとなると重くなるかな。ポート開放なら楽だけど、失敗の可能性もありそうだし、なんたってポートにアクセスするとなると身元がばれる可能性が高くなるよなぁ。やっぱり、AnonymousMailerかな。AnonymousMailerとは海外のあるプログラマーが作ったシステムで、決まった形式でサーバーにデータを送ると串用語5をさしてメールを代送する。という、いわば公開SMTPみたいなものだ。これを使えばぼくでも作れるかな。
「ただいま~。」
家についてまずPCを立ち上げる。
多分、ぼくの持論ではプログラミングをやっているやつらはそれを始めた理由があると思う。数学や物理、ゲームは生きているといやでもやることはあるだろう。でもプログラミングは違う。身の回りにあるとても多くのものでプログラムは使われているが、なかなかそれを実感できない。それどころか、プログラミングはどこか敬遠されている気さえする。そんなものに興味を持つような奴なんて相当の物好きだと僕は思う。(人のことは言えないけど)
 ぼくは、もともと数学が好きだった。数式は動かすだけで新しい意味を持つものになるし、その過程は数式や文字がダンスをしているようにも見える。また、いくらでも絵の変わるスライドパズルのようでもある。これ以上数学を語ることを読者は期待していないと思うのでここでやめよう。まあ、ぼくはあるニュースにとても影響された。
『世界的ハッカー集団gainがアメリカ政府のSNSアカウント乗っ取り、マキシニア国内でのアメリカ軍によるテロリスト容疑者への拷問にかんする極秘文書を公開しました。gainはアメリカ軍による不正なマキシニア侵攻をすぐに中止しなければ我々は相応の手段に出る。という声明を出しています。アメリカ政府はこのことについて...』
gainとは「我々の自由と平和のために」をスローガンとして結成した。世界的なハッカー集団。主な攻撃対象は、国家やテロリストだ。
ぼくは、初めてこの巨大な敵に対して不正をやめるように迫るテロリストハッカー集団にあこがれてしまった。それ以来、ぼくはハッカーを目指してプログラミングを学んでいったのだ。


用語集

LAN:ネットワークの種類、会社や学校で楽にファイルを共有したいときによく使う。だから、これを使って増殖するコンピューターウイルスもいたりする。

RAT:スパイウェアの一種、リモートアクセストロジャン、リモートアクセスツールの略でネットワーク経由でプログラムに指示を出せる。Poison Ivyなどが有名

UI:ユーザーインターファイス、プログラムの見た目

ポート:PC内で通信の際プログラムに割り振られる識別番号。IPアドレスはPCを特定するために、ポートはプログラムを特定するために使われる。

それぞれの事情

カズ(山口和彦)の場合
「和彦、あんたまた部活なんか行ってたの。」
「なんか悪いのかよ部活に行って。」
「和彦!目標の大学に行くためにはね!何かを我慢しないといけないの!だいたいあんたは物理チャレンジやら、JOIやら挙句の果てには部活、すぐに勉強の言い訳をする。」
「物理チャレンジだって、JOIだって本選に行ったじゃねぇかよ。」
「高校になったら内申なんてもういいのよ!だいたいどっちも本選に行っただけでしょ。行くだけなら誰だっていけるわよ。そうやって過去の栄光にすぐ浸るからいつまでたってもあんたはだめなのよ。」
あんた(母さん)なら絶対に予選でだめだからな。
「そもそも和彦、世間には馬鹿は賢いのを引立てるためには必要だけどうちに馬鹿はいらないの。前回のテストでも校内で3位でしょ、二人にも抜かれたのよ二人にも!同じ大学を目指してるような子たちは好きなものを我慢してるんだから気力が違うのよ。」
おれは自分で言うのもなんだが、学力は高いほうだ。昔はそれを誇っていたが良い結果を出すほどあいつ(母さん)は
『ええ、まぁ私が...』
『はい、本当大変だったんですよ...』
『賢い子にする方法?簡単ですよ~...』
自分の手柄にした...
おれらの年頃になると、だいぶ知能がつく。話や議論をしていても相手のおかしい所にはもう気付く。相手が大人だろうと所詮は人間、間違うことだってある。なら素直にそれを認めればいい。なのに大人は、おれらがそれを指摘すると、
『反抗期だから...』
"反抗期"この一言でおれらの意見を潰す事ができる。ネットで何を言おうが無視される。言論ですら平等では無いのだ。会議や会合、サミットなんかでの演説やスピーチと新聞への投書とでは影響力が全然違う。言論は、それを発表するステージから考えなければならない。そのステージだって子供には作れない。一部の大人にしかステージですら作れない。
 ある日から、そんなやつらの言う通りに勉強するのが嫌になり学校にも行かずネットゲームをやっていた。ゲームは人間性ではなく年齢でもなくレベルや装備で判断される。当時のおれにとっては楽園だった。そのうちそれでは足らず、自分で不正ツールを作って使うようになった。おれは、それを作るため|TCP/IP(語句1)やネットワークプログラミングを独学で学んだ。それを、学ぶのはおれにとってはそんな難しいことではなかった。そんなある日、あるニュースが報道された。
『』
これなら、大人と対等に戦える。自分の力でステージを作れるかもしれない。幸いおれにはネットワークプログラミングの知識がある。戦ってやる、復讐してやる。それ以降、おれには勉強とプログラミングを頑張る目標が出来た。「大学に入り親の下から逃げる」そして「大人に復讐してやる」

浜村いろはの場合
はぁ~、私はなんでこの部活に入っちゃったんだろぅ。
競技プログラミングするなら、科学部のPC班があったのになぁ。まぁ、活動内容も聞かず即決しちゃった私が悪いんだけど...
わたしっていっつもそう、電車が来たら停車駅も確認しないで乗っちゃって目的地に着けなかったり、問題文をよく読まずに回答しちゃったり...
ふと、中学からの友人のこのみん(夏木このみ)の言葉を思い出した。
『えっ~!もう入部届け出しちゃったの!しかもPC部!いろは、あそこはあまり競プロやらないらしいよ。いろははもうちょっと優柔不断にならないといけないよ。』
はぁ~本当だ。まぁ、部活でひたすら競プロをやるつもりでもなかったからいいけど。でもこのみんと同じ部活に入りたかったなぁ。JOI本選組でめずらしい女子。しかも、同じ学校。今まで一緒に競プロを勉強した仲だからなぁ
プー
PC起動のビープ音、OSが立ち上がり、ブラウザを起動。twitterにアクセス。そこにはオフでもJOI本選でも何度か会ったメンバーが多くいた。そこで問題の分らない所を聞いたり、撃墜(語句2)を求めたり、プログラミングの宿題を聞いたり、雑談したり...
なんでSkypeとかのメッセンジャーアプリを使わないかって?それは簡単、プログラミングが好きな人、得意な人にどんどん加わってもらうためにオープンでやってる。
プログラミングスキルサイトにログインする。
『今後はプログラミングが重要な位置に来る』プログラミングを始めた動機はこう思ったから。でも初めは何をすればいいのか分らなかった。そして、とりあえずJOIを目指してみた。競プロではプログラミングよりアルゴリズムが重要な位置にある。アルゴリズムは、私は数学より面白いとおもう。数学も好きだけどしっているものを並べかえて組み立てて、とても心がウキウキする。

大野渚の場合
1:please analyze this patch name iceman
2:Re1 whats the patch? name advancer
3:Re3 Process name iceman
4:Re1 I made Proccess s exploit name plot
5:Yippee hy linding a job name jam
6:Re5 IT com? name mike
7:Re5 OMG!Ive not got job yet X( name Beth
8:Re7 lol name mike



今日も新しい話題なしか...ここは、ハッカー達の情報交換掲示板。IPも取らないし、みんな串さしてるから匿名性が高い。でも英語...しかも教科書で習うようなんじゃなくて独特の文法。私の場合みんなと違ってハッキングやプログラミングに興味があってこの部活に入った訳じゃない。私が得意なのはアプリケーションの解析、そしてエクスプロイト(語句3)の作成。なんでこんなマイナーなことが得意なのかというと、昔とあるソフトをダウンロードして実行すると。
『シリアルナンバーを入力してください』
私はそのとき完全にフリーソウトだと思っていた。そこで、私はネットで解析の方法を検索し色々試した。その後私は、機械語デバッガ(語句4)に魅せられた。その後、この海外の掲示板を見つけた。私はここで、新しく出たソフトウェアの脆弱性を解析してアップロードしたりパッチ(語句5)を解析した。すると、
「GJ!」
「Thank!」
とても好評価だった。みんな私のことを尊敬してくれながらも自然に接してくれた。ここでは、性別も年齢も関係ない。自由で匿名なんだ。自分の居場所を見つけた気がした。


語句
TCP/IP
簡単にいうとTCPとIPを使った通信環境

撃墜
TopCoder用語ソースを見せてバグをしてきしてもらうこと

エクスプロイト
プログラムの脆弱性を攻撃するプログラム

機械語デバッガ
すでに実行ファイルになっているファイルを解析する際に用いるデバッガ、アセンブリ(機械語に近い言語)でプログラムを出力する。

パッチ
修正プログラムのこと。継ぎ布の意味から

開拓者・侵入者

「こんな感じかな。」
ぼくは、スパイウェアは作らなかった(面倒だった)けどかわりに開拓型プログラムひので(ぼく命名)を披露した。ぼくは、ウイルスプログラムを作る時には決ってこうコメントを入れる
/****this software's name is ひので(hinode)****/
/****made by mono ****/
愛着を持つためにそれぞれ名前をつけている。ネットでは大抵monoと名乗ってる。
「すげえな、ヒロもう見付かたった。」
開拓型プログラムとは直接はインターネットと繋がってないPCとの通信網を作るためのプログラム。ネットに繋がってるPCに侵入することにより、そこから最小限の機能を持った子プログラムを放出する。子プログラムが勝手に増えながらネットワークを開拓し、目的のPCに辿り着くとそこまでのPCをさかのぼりながら経路を記録、初めに感染した親プログラムに報告しそれがぼくらのところへ報告される。そして、うちの学校ネットワークで試験的に散布している。
「本当に開拓してますね。一つのPCに感染したらそこから重複感染もしませんし。」
「子プログラムをRAT化したらどうだ。」
「気付かれるかもしれないけど。」
「理想としてはそれぞれの子プログラムがPCの情報なんかを送ってくれると相手のPCを知らなくてもいけると思うけどネットワークが重くなるからな。」
「そうだ、ぼくらが親(以下略)に命令すれば親が特定の子(以下略)に命令するようにすれば!」
「ねぇ、ヒロ」
さっきまでPCに向かってた大野が急に入ってきた。
「なんで名前がひのでなの?」
「えっ、解析したの...」
「日本語で書かれたコメントの解析はすごく楽よ。」
「命名の理由はファイとしての初めてのだから"ひので"にしたんだけど...」
「ヒロさっき言ってたことだけど、"特定の子"ってのは難しくねえか。」
「個別に名前を付ければいいんじゃ無いですか?」
「名前も重複しちゃまずいぜ。」
「なら、初めのPCの分岐点で1と2を作るそして1がさらに分岐にあたると11と12となっていけばどこのPCがどの子プログラムかわかりますよ。」
なるほど住所が名前みたいな感じか
「ナイスだよ、浜村さん!」
「ありがとうございます」
みんなのアイディアを取入れて組みなおす。
「ついでにこいつらのおまけ付きを散布してみよう。」
「散布ならおれにまかせろ。」
見せたのは二つのサイト
左翼団体のコミュニティサイト
ある衆議院議員のwebサイト
「脆弱性がある上に対象が面白そうだから前から目を付けてたんだよ。簡単に不正コマンドが挿入できる。ヒロいくらでも串さしていいからおれらのことを隠密しながらそれどっかのサーバーにでも上げてくれ、そしてそのURLを教えろ。」
まず、図書館サーバーに侵入そこから県サーバー、イギリスサーバーと海外を3つ経由してあるPCを名乗って匿名で有名なクラウドサービスにアップロードっと。
「URLは、http://...」
「今日の活動はこんなもんで明日何が餌にかかってるかみようぜ。」
「それじゃ、もう帰るか。」
「バイバイ」

--セツゾクシャIPカクニン
--ホゾン
--データヲソウシン
--


「おい!ヒロみろよ!まず議員の方だけど」
議員のサイトなんてそんなに見ないだろ
「なんなんだ!カズ」
「これ見ろ」
そういってぼくに見せてくれたディスプレイにはある三文字が
「衆議院?!」
「感染者のPCのスクショだ。確定は出来ないけど自分で自分のサイトを見てて感染したんじゃねぇか。」
自分で自分のサイトを見るって悲しいな。
「さらに左翼の方も、あるPCにはいってる資料をこっちでみると警察関係のPCの可能性が高いぜ。左翼思想の警察か、警察が監視してたのか...」
「かなりの高確率で後者だろうな。」
「当然、開拓中なんでしょうね」
「当然だぜ。」
「まぁ、プラグイン(語句1)に偽造したから起動が早かったね。そうだ広報活動でもする?」
「広報活動?ハッカーとしてどうかと思うが。」
「カズ、ハッキング対象に自分がやったということを示さないのは予告状を出さない怪盗と一緒だよ。」
ぼくが憧れているgainだって名乗ってるし、
「大抵の泥棒は予告状を出さないと思うが、お前の美学は分った。でもどうするんだ?」
「壁紙変更機能があれにはついている!」
『おぉぉ』
どうだ!あれは大変だったからな。
「壁紙変更ってどうするんですか。」
「さすがにそれをしてくれるAPI(語句2)も関数も無かったから、レジストリキー(語句3)をいじって壁紙を変える。」
「レジストリキーか...大変だったでしょうね。」
「まぁとにかく、いくらかにやってみるか」
「ようすを見るために3つほど、あとこのメール文書を...」
「どうですか?」
「あとは相手方の動きを見ようぜ。」
「開拓のようすも知りたいですしもう帰りますか。」
ーーーーーーーーーーーーーー
「セキュアじゃない...」
一人自室でPCに向かう。
わたしが出来る事なんて限られている。ヒロやいろはみたいにプログラミングが得意なわけでもなく(Exploitを作れる最低限の知識しかない)、カズみたいに何かハッキングに役立つ知識があるわけでもない。だから、解析をし脆弱性を見つけるような後方支援しかない。
 今、彼女のPCディスプレイには"ひので"をカーネルデバッグ(語句4)をするために作られたデバイスオブジェクト(語句5)群が表示されている。
「相手が不正なデータをウイルスに仕向ければ、親プログラムに対して不正命令が挿入出来る...」
机の上の空コップを持ってお茶を注ぎにキッチンへ行く。
「はぁ~、さすがに。ウイルスプログラムを攻撃してくることなんてないよね。考えすぎか...」


語句
プラグイン
既成アプリケーションに後から組こんで機能を拡張するソフト

API
OSやアプリケーションなどが自分の機能の一部を使えるように公開している関数

レジストリキー
Windowsのファイルシステムの云々、説明はけっこう面倒くさい

カーネルデバッグ
カーネルのクラッシュダンプのデバッグこれも説明は面倒

デバイスオブジェクト
ファイルシステム、デバイスに対する各オブジェクト

はっかー部!

小説家になろうでも出しています
http://ncode.syosetu.com/n4855cr/

はっかー部!

ハッカーにあこがれた少年、アルゴリズムに魅せられてた少女、復讐のためハッキングを学ぶ少年、自由と匿名にあこがれた少女。この4人がハッカー部と呼ばれる部活に入り、周囲の人間を翻弄しながら高校生活をすごす物語

  • 小説
  • 短編
  • 青春
  • 全年齢対象
更新日
登録日
2015-05-24

Copyrighted
著作権法内での利用のみを許可します。

Copyrighted
  1. ファイ 結成!
  2. それぞれの事情
  3. 開拓者・侵入者