Very easyをやってみる
Crackmes.deに登録されているcrackmeの難易度は、
- 1 - Very easy, for newbies
- 2 - Needs a little brain (or luck)
- 3 - Getting harder
- 4 - Needs special knowledge
- 5 - Professional problem to solve
- 6 - Hard, for very professionals only
- 7 - Very hard
- 8 - *VERY VERY* hard
- 9 - You can't solve this yourself :)
この九段階に分かれている。
ではまず、Very easyからやってみよう。
今回挑戦するのはflipflopさんの「flipflop's dailycracking」。
さっそく実行すると、「pass:」をという文字が表示されて、入力待ちになっている。
以下は、試しにhogeを入力してみたの図。
hogeの入力に対して、wrongが表示された。
まったくノーヒントに見えるのだが、ここからリバースエンジニアリングで答えを探すということになる。
以下、ネタばれ。
OllyDbgなどのデバッガを使ってステップ実行していく。
するとバーチャルアドレス「00401374」のCALLから呼ばれる関数(004013CD)で、入力された文字列を比較していることが分かる。
この関数では「Crack」の文字と、システム時刻の年月日から「日」を連結している。
これが答えだ。
答え合わせの図。
今日は十日なので、「Crack10」が答えとなる。
さすがにVery easyでは簡単な問題というところ。
自分なりの答えが出たところで、他の人の解答と見比べてみる。
Solutionsから他の人の解答がダウンロードできる。
ちょっと説明を端折りすぎかな。
ツールの紹介や使い方は他のサイトにゆずってしまいたい。