改ざんされるプログラムの作成|セキュリティ|ブログ|Computerworld

header_cwr_head_mid_fl_logo

CW_ウルトラバナー_Topics04

CW_ウルトラバナー_Topics05

CW_ウルトラバナー_Topics06

CW_ウルトラバナー_Topics07

CW_ウルトラバナー_Topics08

セキュリティ

改ざんされるプログラムの作成

Posted by 蔵本雄一 ( 2010年06月10日 )

読者の皆様

お待たせしました。

以前お知らせした、ダーツの大会「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年よりも前だったら、このメッセージボックスが表示されます。” を表示するように、デバッグとコード変更を行いますので、今回はとりあえず、ここまで作成しておいてくださいませ。

それでは次回お楽しみに!

ページの先頭へ戻る