どうも、mjkです。
気づけば時代も平成から令和へと移り変わり、小中学生の間でもスマートフォン所持が浸透してきている時代なんだそうな。
しかし、我々が小学生の頃には手のひらサイズで性能はパソコンと同等などという、そんな便利なものなどありませんでした。携帯は今でいうガラケー、ゲーム機はDSかPSPが主流の時代だったのです(懐古厨)。
さて、こんな時代になってなお、プログラミングの授業から、あるいは調べ学習の授業をサボってYouTubeを見ていたなどの理由からパソコンの魅力に取りつかれた小学生も中にはいるのではないでしょうか。というか10年前の僕がそうでしたし。
今回はそんな中でもいたずらを仕掛けるという方向に知恵が働いてしまった少年が必ず一度はググるであろう「ウイルスの作り方」について伝授したいと思います。大丈夫、僕も通った道だ。それにしても10年前からYouTubeにこんな感じの動画がアップロードされてたんだね、なんか感慨深いな。
でもいたずらで仕掛けてマジで大変なことになっちゃったときに責任を僕に押し付けられるのはすっごく嫌なので、すべて自己責任で行ってくださいね?
まずブラクラとかウイルスとかって何?
ブラクラというのは「ブラウザクラッシャー」を略した言葉で、君が今このブログを読むのに使っている「ブラウザ」というアプリケーションをクラッシュ(ざっくりいうと破壊)させるためにあるものです。あくまでブラウザを機能不全にするのが目標となります。
一方で、ウイルス(コンピュータウイルス)はコンピュータに対して直接破壊活動を行ったり自分のことを拡散するように仕向けたりするアプリケーションのことです。こっちはブラクラよりも強力です。下手するとパソコンを破壊しかねないから。
!注意!
ここから下に書いてあることについては、何度も言いますが実行は自己責任で。本当に僕は責任取れないからね?一応僕の責任にはされたくないので使う以上はそういう誓いも無理やりにでも書かせることにしてみます。
本題へ入ろう。
ぶっちゃけウイルスよりもブラクラのほうが作るのも制御するのも簡単なので、そっちから先に説明していきます。
まずは「無限アラート」です。
こいつはポップアップのアラート(警告)を無限に出し続け、ブラウザ操作をできなくするという厄介なブラクラです。
まずはメモ帳を開いて以下の文章を書き込みます。でもそれだと面倒なのでコピペでいいです。
<script type="text/javascript">
var lic = "このコードを複製・改変・利用することで発生したいかなる問題に対しても自己責任で対処することを誓います。";
function infalert(mes){
for(i=1; i<=10; i++){
alert("ここにメッセージを入力");
}
document.write(mes);
}
infalert(lic);
</script>
そしたら「ファイル」→「名前を付けて保存」→右下の「テキスト ファイル(*.txt)」を選んで「すべてのファイル(*.*)」にする→「○○.html」(○○は適当な名前)という名前で保存します。
そして作ったファイルをウェブブラウザで開くとあら不思議!アラートが連続で10回出てきます。
えっ?無限じゃないって?そりゃあそうでしょう。今回は悪用を防ぐために「アラートを10回しか出さないように」改造しているんですもの。もちろんちょっと手を加えれば無限回にすることも可能です。具体的には、for(うんたらかんたら)の部分を、for(;;)と書き換えるのです。でも自己責任で。
仕組みや効果自体はシンプルなものですが、これがSNSによって拡散され、とんでもないことになったという事例が実際にあるブラクラです。というか補導まで行ったそうです。警察が情報に疎すぎるんじゃないかっていうのはあるけど…
ちなみに僕がこのブラクラを知るきっかけとなった動画は実に10年前に投稿されたものなんだそうですが、いまだに存在しているようです。10年前から水面下で伝わるイタズラがいまだに警察にも通用するってステキじゃありませんか?
それにしても改めて見てみるとどこか感慨深いものがあるなぁ…。
続いては「無限ループ」です。作り方は以下のものをコピペして、先ほどと同様に保存して開くだけです。
<script type="text/javascript">
var lic = "このコードを複製・改変・利用することで発生したいかなる問題に対しても自己責任で対処することを誓います。";
function infloop(mes){
var j = 0;
for(i=1; i<=100; i++){
j = i;
}
document.write(mes + j);
}
infloop(lic);
</script>
相変わらず回数制限があります。今度のものは目に見えないところで処理する代わりに100回分です。実際に無限ループさせるためには先ほど同様for(うんたらかんたら)の部分をfor(;;)と書き換えてください。
処理をループさせるだけなのでさっきのものと大して変わりませんが、こっちはパソコンの処理を重くさせて落とすことがメインです。
しかしパソコンの処理能力が格段に向上し続けるこのご時世、この程度では処理が落ちなくなってきたのが現実です。正直スマホも落ちるか微妙なところ。まあいまだにXPとか使ってるようなところだと落ちる可能性はありますが… ですが処理がいつまでたっても終わらないことは「応答なし」と判定されるのに十分な材料となるので、ブラウザを強制終了させるだけなのであればこれでも十分でしょう。
今回紹介した以外にもまだまだブラクラは存在するのですが、今回はこれ位にしておきましょう。
そしてお待ちかね、今度はウイルスについてです。
こちらはマトモに作ろうとすると非常に難易度が高くなったりシャレにならなくなったりしてしまいますので、今回は「EICARテストファイル」のみの紹介とさせていただきます。
これはぶっちゃけてしまうと正確にはウイルスではありませんし実行しても特に何も起こりませんが、他のプログラムにはない珍しい特徴があります。
話は変わりますが、検索結果によくあるような「ウイルスの作り方!」とかいう動画で作り方が公開されているものは、基本的にアンチウイルスソフトでは検出されません。ウイルスソフトの制作会社にとっては、その程度の単純なプログラムをいちいちいウイルスと認定してたらキリがないのでしょう。
しかしこのファイルを使うとアンチウイルスソフトが本物のウイルス同様にこのファイルを検出し、「ウイルスを感知した」という警告が出るというところに魅力があります。そのためマジで悪用しないでください。絶対に学校のPCとかでやるんじゃないぞ!
作り方は簡単です。ブラクラを作った時と同じようにメモ帳を開いて、以下の文字列をコピペします。
X5O!P%@AP[4\PZX54(P^)7CC)7}$EICAR-STANDARD-ANTIVIRUS-TEST-FILE!$H+H*
これをブラクラと同じ要領で「名前を付けて保存」→「すべてのファイル(*.*)」を選択し、ファイル名を「○○.com」(○○は適当な名前)にして保存します。
このファイルにウイルススキャンをかけてみてください。するとなんということでしょう!作ったファイルからウイルスが検出されたではありませんか!
また、アンチウイルスソフトが常駐している状態でこのファイルを作成すると、ファイルに対してウイルススキャンをかけなくても勝手に検出してくれます。便利ですね。
さらに、アンチウイルスソフトの種類によってはメモ帳にこの文字列を入力する過程で検出されるらしいです。おそらく文字列をコピーしたときにクリップボードのウイルスチェックをしていると思われる。
ちなみにこのファイルの本来の用途は、「アンチウイルスソフトが正常に動作しているかを確認する」ことにあります。詳しい原理は省略しますが基本的にアンチウイルスソフトは常に動作していますから、停電とかでパソコンの電源がいきなり切れたら壊れちゃう可能性があるわけです。これが壊れてないかを確認するためのものがこのファイル、というわけなんですね。
いかがでしたか?
今回紹介した以外にも、ブラクラやウイルスに満たないいたずら用プログラムの作成方法は多々あります。
ですが、僕が君たちに望んでいるのは「多少やり方はダーティでもいいからパソコンやプログラミングに興味を持って、あるいは持ち続けてもらいたい」ということなのです。
スマートフォンの発明と普及によりパソコンに慣れていない社会人も多くなってきたこのご時世、社会では未だにパソコンの操作スキルの高さが望まれています。インターネットという新しい生活基盤を支えてきたのも、インターネットの将来を担うのも、パソコンなのです。
別にスマートフォンの利便性を真っ向から否定したいわけではありません。しかし、仕事や開発において、スマートフォンだとパソコンと比べて力不足な点が目立ってしまうのです。だからこそ、スマートフォンだけでなく、パソコンにも触れてみてほしい。あるいは、パソコンへの興味を持ち続けてもらいたい。
そんな話でした(無理やりキレイに締めようとする)。
追記
これだけでは足りないパソオタの為に、「本気で」ウイルスを作る記事を投稿しました。