世界でcrackme ---攻防

最初の添付ファイルをダウンロードした後、シェルをチェック

何も見つからなかったが、部門を見ていたが、我々はこれは北斗七星シェルであることを知っています。だから我々は、最初にロードされたODをオフシェルようになりました

PUSHFDとコンパスシェルpushadを特徴としているにも見ることができます

私は、ESP直接GETVERSION OEPにブレークポイントに直接適用することができるが、コンパスシェルについてはこちらを言うために、単一のステップF8、または画像の方法を使用することも可能、もちろん法律を、そこに砲撃される使用します

そして、砲撃開始しました

F9は、ハードウェアブレークポイントを削除し、ここで実行するために、あなたはここにダンプすることができますまた、あなた自身を追加することができ、砲撃は、ツールを使用して、時々は容易ではないODくるということです、ここで言うことができません

 

 

砲撃はIDA F12ビューをロードし、ダウン分析を完了し続け

基本的な構造のクロスリファレンスを見て

F5の外観

ここでは、我々は42の文字列の長さを入力することがわかります

最初の文字列の長さが検出されたか否かを次のPythonと入力42入力文字列の、動作、

serial_1 = "this_is_not_flag"
serial_2 = [0x12,4,8,0x14,0x24,0x5c,0x4a,0x3d,0x56,0xa,0x10,0x67,0,0x41,0,1,0x46,0x5a,0x44,0x42,0x6e,0x0c,0x44,0x72,0x0c,0x0d,0x40,0x3e,0x4b,0x5f,2,1,0x4c,0x5e,0x5b,0x17,0x6e,0xc,0x16,0x68,0x5b,0x12,0x48,0x0e]
result = ""
for i in range(42):
    result += chr(serial_2[i] ^ ord(serial_1[i%16]))
    print(result)

这里的flag为flag{59b8ed8f-af22-11e7-bb4a-3cf862d1ee75}

 

おすすめ

転載: www.cnblogs.com/chuxinbubian/p/11232651.html