人生如戲,世事如棋,看了某大學(xué)人工智能培養(yǎng)方案,感慨萬(wàn)千。
還是默默做自己。
題目鏈接:http://ctf5.shiyanbar.com/crackme/
1、打開(kāi)后是個(gè)簡(jiǎn)約風(fēng)格的文字

2、打開(kāi)是個(gè)控制框,黑框設(shè)計(jì),猜不出來(lái):

3、拖到Exeinfo PE中看吧,VC++,還是推薦Ida:

4、打開(kāi)Ida,同樣是find strings

5、找到可疑的字符串,雙擊進(jìn)入:


6、雙擊后面的DATA XREF,找到源頭:

7、F5進(jìn)行反編譯,這個(gè)是32位的,竟然不能用64為Ida。

8、關(guān)鍵就在sub_401060上了,雙擊進(jìn)入。

9、要求就是輸入的字符串與0x20u異或后與v5字符串每位減5后的值相同。a1=v5。
現(xiàn)在就是要知道v5的值,然后反推要輸入的a1。
10、被安利一個(gè)新軟件,OllyDbg,簡(jiǎn)稱(chēng)OD,下載載入。

11、根據(jù)v5的地址0040708C查看字符,得到:
68 57 19 48 50 6E 58 78 54 6A 19 58 5E 06

12、使用python操作:
data = [0x68,0x57,0x19,0x48,0x50,0x6E,0x58,0x78,0x54,0x6A,0x19,0x58,0x5E,0x06]
result = ""
for i in data:
result += chr((i-5)^0x20)
print(result)
13、得到結(jié)果
小結(jié):拿到新工具OD,不過(guò)沒(méi)進(jìn)行調(diào)試,下次有機(jī)會(huì)調(diào)試一下試試。