SRM

reverse

The flag is : The valid serial number

Download

与えられたファイルを実行すると、下図のような入力ダイアログが表示されます。

no title

「Your E-Mail Address:」と「Your Serial Number:」に適当な内容を入力して「OK」をクリックすると、下図のとおり不正な入力であるとのメッセージが表示されます。

4

それでは、「IDA Pro Free」で逆アセンブルし、該当部分を見てみます。上図のメッセージは下図の箇所で出力されていることが分かります。この部分をよく見ると、右側のフローで比較、条件分岐しており、全て比較結果がイコールの場合に赤い矢印のフローを流れています。おそらく右側の赤い矢印のフローを通れば正解と思われます。

3

さて、この比較、条件分岐の箇所を見てみると、入力された文字をそのまま比較している箇所と、入力された文字にある固定値をaddまたはsubした値と比較している箇所があります。それぞれ計算して入力すべき値を下表のとおり、導き出します。

ebp cmp add sub 元の値 文字
-240 43     43 C
-23f 5a     5A Z
-23e 3a 01   39 9
-23d 64     64 d
-23c 6d     6D m
-23b 44   2d 71 q
-23a 34     34 4
-239 63     63 c
-238 9b 63   38 8
-237 9b 34   67 g
-236 aa 71   39 9
-235 c8 81   47 G
-234 9b 64   37 7
-233 9b 39   62 b
-232 9b 5a   41 A
-231 9B 43   58 X

この導き出した文字をつなげると、「CZ9dmq4c8g9G7bAX」となりますので、適当なメールアドレスとこの文字列をシリアルナンバーに入力します。

1

下図のとおりフラグが表示されました。

2

フラグは、
CZ9dmq4c8g9G7bAX
です。