改ざんされるプログラムの作成
お待たせしました。
以前お知らせした、ダーツの大会「MJ トーナメント」で決勝トーナメント初戦敗退したヘタレの蔵本です。。。予選はブロックはトップで抜けたんですが、決勝トーナメントの初戦でストレート負けでした!自分のダーツができなかった上に、相手の方が強く、あっという間に終了でしたw
ダーツは良い写真がとれなかったので、今週の一枚は、六本木のバーガー屋「デモデバーガー」のテリチキバーガーです。福生発祥のお店だけあって、めっちゃでかいです。ほんとにうまいので、是非一度ご賞味ください!
さてさて、前回お話した通り、アプリケーションの改ざんが行われる様を一緒に見て行くのですが、今回は、まず、改ざんされるアプリケーションを作成しましょう。
Visual Studio 等で下記のコードをコピペしてコンパイルしてもらえば終了です。
Visual Studio 2008 では、空のプロジェクトを作成し、cppファイルを新規追加しましょう。
そして新規追加したcppファイルに下記のコードを入力します。
テスト用に超簡素化してあります。
#include “windows.h”
int main(int argc, char* argv[])
{
SYSTEMTIME cSTIME;
ZeroMemory(&cSTIME,sizeof(cSTIME));
GetSystemTime(&cSTIME);
if(cSTIME.wYear>2000)
{
MessageBox(NULL,(“このアプリケーションは、2000年以降起動できません。”),(“起動できへんよ”),MB_OK);
return 0;
}
MessageBox(NULL,(“2000年よりも前だったら、このメッセージボックスが表示されます。”),(“起動できました”),MB_OK);
return 0;
}
こんな簡単なコードで解説も何もありませんが、一応解説しますねw
GetSystemTimeで現在の日時を取得します。
次のif文で、現在が2000年以降かどうかをチェックします。
もし2000年以降であれば、”このアプリケーションは、2000年以降起動できません。”と表示され、そのままプログラムを抜けます。
また、もし2000年以前であれば、”2000年よりも前だったら、このメッセージボックスが表示されます。”と表示され、プログラムを抜けます。
上記のプログラムをコンパイルすると、現在は、2010年なので、当然 ”このアプリケーションは、2000年以降起動できません。” と表示されるはずです。
次回は、”2000年よりも前だったら、このメッセージボックスが表示されます。” を表示するように、デバッグとコード変更を行いますので、今回はとりあえず、ここまで作成しておいてくださいませ。
それでは次回お楽しみに!