アイジア

CTF, 情報セキュリティの学んだことメモ

crkme06

前→ crkme05 - アイジア 前と比べて正解処理にたどり着くまでの道のりがけっこう長くなっている。 ・正解文字列は10文字(004011FD . 83F8 0A CMP EAX,0A) 0040120C . 0FBF06 MOVSX EAX,WORD PTR DS:[ESI] EAXにESIの先頭2文字(16バイト分)を格納する。ESIに…

crkme05

前→ crkme04 + 04a - アイジア 00401221 |. E8 28000000 CALL crkme05.0040124E ここまでは前回と全く同じで10進数の入力を16進数にしてEAXに格納している。 それ以降の命令を見てみると、 ①0x4d2(=1234)を足し算(ADD命令) ②0x0D(=13)で割り算(DIV命令) ③0x3…

crkme04 + 04a

http://doomo.xyz/crack/crkme04.exe いつも通りGetWindowText関数が呼び出された直後の処理を見ていく。 004011FA . 68 2C304000 PUSH crkme04.0040302C 004011FF . E8 20000000 CALL crkme04.00401224 入力した文字列を引数としてアドレス401224に飛んでい…

crkme03

http://doomo.xyz/crack/crkme03.exe 01~02aまでにあったGetWindowTextAの代わりにGetDlgItemTextAで入力文字列を取得している。 その直後の処理を見ていく。今回はプログラミング言語風に書いてみる。 ESI = (入力文字列); ECX = 0; EDI = "vP12NGgoQa"; w…

crkme02 + 02a

http://doomo.xyz/crack/ ↑答え書いてあるけど自分なりにメモ。 実行 いつも通りOllyで起動。 ①GetWindowTextAを呼び出しているところでブレークポイントを設置する。 ②GetWindowTextAの引数(EAX)と8を比べて、一致しなければ不正解処理に飛ぶ。 GetWindowTe…

Reversing.kr easy unpack

Reversing.Krの「easy unpack」にチャレンジ。 「Easy_UnpackMe.zip」を解凍するとウイルスバスターに削除された。一時的にリアルタイムスキャンをOFF。 実行ファイルと一緒に入ってたReadMeには「Find the OEP」とある。 OEPはOriginal Entry Point の略で…

Reversing.kr easy elf

Reversing.Krの「Easy ELF」にチャレンジ。以下、やったことのメモ。 実行 ターミナルから実行するといきなり入力を求められる。適当に入力したら「Wrong」と出て終了。 IDAで開く Functionウィンドウを見てもmain関数らしきものは見当たらない。Stringウィ…

Reversing.kr easy keygen

Reversing.Kr第二回。 実行 ファイルを解凍してeasy keygen.exeを実行してみる。 添付されていたテキストファイルによると、シリアルが「5B134977135E7D13」のユーザ名を見つけなければいけないとのこと。 IDAで開く easy keygen.exeをIDAで開きmain関数の逆…

Reversing.kr easy crack

Reversing.Kr 普通に実行してみる パスワードを聞かれる。わからん。 IDAで開く ・IDAのFunctionウィンドウからWinMain関数を見てみると、ダイアログを出す命令DialogBoxParamがある。 DialogBoxParam 関数 int DialogBoxParam( HINSTANCE hInstance, // ア…

ksnctf 27 Lives out

ksnctf.sweetduet.info exeファイルをダウンロードして実行するとライフゲームが開始されます。区画を種と見立ててその絶滅や誕生をシミュレーションしてくれるみたいです。 ライフゲーム - Wikipedia 説明文にある「Can you switch all the lights off? 」…