Jarvis OJ - 軟件密碼破解-1 -Writeup


Jarvis OJ - 軟件密碼破解-1 -Writeup

轉載請標明出處http://www.cnblogs.com/WangAoBo/p/7243801.html

記錄這道題主要是想記錄一下動態調試的過程

題目:

分析:

剛開始拿到這道題目還是想用IDA靜態分析,但無奈函數太多找不到關鍵函數,看別人Writeup也只是說關鍵函數為sub_401BB0但不知道怎么找到的,歡迎知道的表哥留言告知。

於是嘗試拿OD動態調試,用OD打開,中文搜索引擎 -> 搜索UNICODE,可以在搜索到的字符串中找到你贏了

雙擊定位到對應匯編

向上翻,不遠處就能看到關鍵判斷和跳轉

因此推測再向上邊幾行為關鍵代碼,下斷點動態調試逐句分析可得:

整個邏輯即為:

將輸入與CTF100.005777F8亦或,再把亦或后的結果與給定的值進行比較

mov ecx, CTF100.005777FB右鍵 -> 數據窗口中跟隨 -> 立即數即可看到CTF100.005777F8的值

因此可得到如下解題腳本:

1 l1 = [0x28, 0x57, 0x64, 0x6B, 0x93, 0x8F, 0x65, 0x51, 0xE3, 0x53, 0xE4, 0x4E, 0x1A, 0xFF]
2 l2 = [0x1B, 0x1C, 0x17, 0x46, 0xF4, 0xFD, 0x20, 0x30, 0xB7, 0x0C, 0x8E, 0x7E, 0x78, 0xDE]
3 
4 ans = ''
5 for i, j in zip(l1, l2):
6     ans += chr(i ^ j)
7 
8 print ans

 

運行得到flag

於是flag即為3Ks-grEaT_j0b!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM