タグ‘Reverse Engineering’のアーカイブ

khallenge 2007に挑戦 Level1

2008 年 7 月 29 日 – 5:57 AM参照回数:12 回 | 参照回数:12 回 |
一つ星二つ星三つ星四つ星五つ星 (1票 , 2/5の評価)
Loading ... Loading ...

ではF-Secure’s Reverse Engineering Challenge for ASSEMBLY 2007で配布されていたLevel1に挑戦します。まずはUPXなどのpackerで圧縮されていないか調べるためFSC_Level1.exeをPEiDでスキャンした。

運良く圧縮や暗号化はされていないようです。次にデバッガとして有名なOllyDbgでFSC_Level1.exeを開いた。FSC_Level1.exeでは有効なキーを入力しないとSorry, this key is not valid! と表示されるのでその部分を探してみることにした。

690010F3 |> \68 C0200069 PUSH FSC_Leve.690020C0 ; ASCII 0A,”Sorry, thi”

これくらいしか見つからないのでこれだろう。690010F3は690010D4のJNZから飛ぶようになっている。NOPで埋めてF9で実行してみよう。NOPで埋めているので690010F3に飛ぶことはない。適当にAAAAAAAとでも入力してエンターキーを押すと・・・

「Congratulations! Please send an e-mail to ThisIsAsm07REC@khallenge.com」と表示された。これは正解である。ちなみにLevel1の正しいキーは690010BFのコメント欄を見れば分かる。

690010BF |. 68 10330069 PUSH FSC_Leve.69003310 ; /s2 = “Asm07REC
690010C4 |. 68 A0310069 PUSH FSC_Leve.690031A0 ; |s1 = “AAAAAAAAAAAAAAA”
690010C9 |. FF15 88200069 CALL NEAR DWORD PTR DS:[<&MSVCR71._stric>; \_stricmp

上の場合入力された文字(AAAAAAAAAAAAAAA)と正しいキー(Asm07REC)を比較している。690010D4のJNZはこの結果からsorryへ飛ぶか正解へ飛ぶかを判断している。

このようにLevel1は単純に文字列を比較しているだけなので非常に簡単です。デバッガの基本操作が分かっていれば答えを導くことが可能です。次回はLevel2に挑戦します。

khallenge 2007に挑戦 前書き

2008 年 7 月 29 日 – 5:17 AM参照回数:1 回 | 参照回数:1 回 |
一つ星二つ星三つ星四つ星五つ星 (まだ投票されていません。)
Loading ... Loading ...

F-Secure’s Reverse Engineering Challenge for ASSEMBLY 2007で配布されていたLevel 1~Level3まであるcrackmeのような奴に挑戦してみようと思います。ちなみにダウンロードは「F-Secure Khallenge FRECA Information Page」から行うことが出来ます。開催期間中ならhttp://www.khallenge.com/からダウンロードできるようです。khallengeではLevel1を初めに配布します。Level1の解析が成功すると次のレベルのバイナリファイルを手に入れるためのメールアドレスが表示されます。からのメールを送信するとダウンロードするためにリンクが送られてきます。それの繰り返しですね。ちなみに今はメールを送っても返事が返ってきません。解析結果が正しいか確認したい方向けにメールアドレスを掲示しておきます。

Level 1 ThisIsAsm07REC@khallenge.com
Level 2 LuckyNumberIs_30503343_FSC@khallenge.com
Level 3 gr8skillz@khallenge.com

では次回、Level1の解析を始めたいと思います。