第12話 これで準備完了
俺は魔法システムサーバーへの賄賂を考え始めた。
まずは簡単な物から手を付けることにし、使っていないデータのバックアップを作ることにした。
バックアップを作ったら、外部記憶装置に保存することを考えた。
外部記憶装置は魔道具でいいだろうと思ったが、魔道具だと魔力がなくなると停止して消えてしまうことを思い出した。
長期間保存できるDVDのような媒体が望ましいと感じた。
待てよ、魔道具を作る時に入れた呪文は消えないじゃないか。
そうすると呪文としてソースコードを作るプログラムを作れば良い。
これで解決だ。
よし、プログラムを作ろう。
#include <stdio.h>
#include <stdlib.h>
typedef struct {
char file_name[256]; /* 出力ファイル名 */
int data_count; /* 吸出しデータ数 */
char data_buf[1000000000]; /* 吸出しデータ */
} data_backup;
data_backup data_base;
void main(void)
{
int i;
FILE *fp;
fp = fopen(data_base.file_name, "w");
fprintf(fp,"#include <stdio.h>\n#include <stdlib.h>\n");
fprintf(fp,"typedef struct {\nchar data_buf[%d]={",data_base.data_count);
for(i=0;i<data_base.data_count;i++){
fprintf(fp,"%02xh",data_base.data_buf[i]);
if(i+1<data_base.data_count){
fprintf(fp,",");
}
}
fprintf(fp,"};\n");
fprintf(fp,"} data_backup;\n");
fprintf(fp,"data_backup data_sauce;\n");
fprintf(fp,"void main(void)\n");
fprintf(fp,"{\n");
fprintf(fp," while(1);\n");
fprintf(fp,"}\n");
}
空中に『ふむできたな。上出来だ。』と表示され、俺は監視されていることに気づいた。
これは当たり前のことなのかもしれない。
「タイト、こいつは何だ?」
「天使、いや神の下僕って感じだな」
空中にマスターは神などではない人間の魔法使いだ。下僕であることは間違いない。と表示された。
俺は人間が魔法システムを作ったのか考え、生成AIの助けがあればそれが可能かもしれないと思った。
「結局、何が目的なんだ?」
「魔法システムの制御魔法生物ってのは、まさにプロジェクトの核だ。これをしっかり理解して実装すれば、全体の効率が劇的に上がるはず。さあ、どう進めるか考えよう」
空中に『ああぁ、うっ……。すっきり爽快。』と表示された。
早速、余剰データ放出プログラム魔法を使ったな。
「魔法生物の快楽なんて、理解する気なんざねぇ。説明なんて要らねぇからな」
「うちも知りたくないっしょ!」
ただのデータバックアップなのにな、俺はこれを機会に頼み事をしようとした。
「魔法システムさん、ちょっと相談があるんですけど。他人のファイルを読んだ痕跡を消してもらうことってできないですかね?それと、俺のフォルダーにある他人が作ったファイルのアクセス制限も撤廃してもらえたら助かります」
空中に『良かろう。それぐらいなら簡単だ。では、さらばだ。子サーバー作成の完成を期待している』と表示された。
上手くいって何よりだ。
「タイト、今のお前の頼み事、何だ?」
ハッキング行為はほぼ捕まる。
ニュースで報じられているのを見れば、捕まっていないと思うこともある。
しかし、それは多くの場合、犯人が日本の捜査権が及ばない場所にいるからだ。
犯人を特定するにはログを追跡することになる。
全てのログを自由に閲覧できれば、特定はそれほど難しくない。
そのため、どこの国からアクセスされているかは判明する。
ハッカーが他人のコンピュータを乗っ取ったり、闇バイトに設置させたサーバーを経由したりと、様々な手段を使っているのを知っている。
警察側にログと根気さえあれば追跡できるものだ。
高校生レベルでもハッキングはできるが、痕跡が消せないので日本では捕まることになる。
ログが消されても、通信回線のログが残っている場合、逮捕に至るケースもある。
「要は、歩くと足跡が残るだろ?それを綺麗にしてもらうための仕組みってことだ。それを魔法みたいにネットで実現するってわけさ」
「分かりやすいな」
「うちも分かったわ! 足跡消すなんて考えたことないけどさ!」
「俺もだ。タイトのヤバさがこれだけで分かるぜ」
「ヤバいっていうか、タイトはマジで凄いの!」
俺は魔道具の量産を考えた。
これからウイルス付きの魔道具を量産しなければならないので、書き込む呪文を自動生成し、それを書き込む作業に取り掛かることにした。
魔石の指定が問題だと感じている。
魔石を手に取って決定するのはめんどくさいので、近いものから順番に処理したいと思っている。
離れていると駄目なんだったなと思いながら、魔力を触手のように伸ばさないといけないと感じた。
面倒だ。
触れている魔石を軽い順に扱った。
俺の呪文は性能が良いから、小さくても効果を発揮できる。
クズから消費するほうが効率的だと考えた。
typedef struct {
char spell_str[4000]; /* 呪文 */
char command_the_magic[80]; /* 指示 */
} tool_make;
このプログラムの構造体の呪文部分のファイル名の書き換え。
どういう書き換え家と言うと通しナンバーを入れる。
魔石指定は小さい物から順に行うべきだろう。
ループさせる場合は終了判定を作らなければならないが、これは別プログラムになる。




