1. 程式人生 > >reversing.kr easy crack 之write up

reversing.kr easy crack 之write up

階段 clas 跳轉 開始 ack flag http sin pre

之前學逆向感覺學得一踏糊塗,這階段好多師傅帶我,一定要好好學,重新開始,認真學習。

來看打開可執行文件:

技術分享

用ollydbg載入,單步執行後停到了入口點:

技術分享

分析入口點,並沒有加殼,於是F9執行程序,跳出了程序執行框,隨便輸入些字符,出現了錯誤框的提示:

技術分享

F12暫停程序後Alt+k查看調用棧:

技術分享

補充:

MessageBox指的是顯示一個模態對話框,其中包含一個系統圖標、 一組按鈕和一個簡短的特定於應用程序消息,如狀態或錯誤的信息。消息框中返回一個整數值,該值指示用戶單擊了哪個按鈕。

在圖中高亮處點擊右鍵,選擇show call進入程序段,發現4個判斷語句與密碼有關:

技術分享

在以上4個跳轉區以及004010b0地址處的比較命令處下斷點後,重新運行,此時輸入

技術分享

程序運行到第一個斷點處:

技術分享

得到的信息是第二位與a比較,f8繼續執行,為了不讓jnz跳轉改變z為1,如圖:

技術分享

f8一直單步執行到如圖:

技術分享

查看椎棧34與5y比較

繼續執行:

補充爆破方法:

遇到跳轉將z改為1,一直向下執行:

技術分享

技術分享

如圖是最後9位密碼,繼續向下執行,遇到跳轉z改為1,得到第一位的值:0x45=E

技術分享

所以 得到密碼:

Ea5yR3versing

如圖,我們成功了:

技術分享

用過了ollydbg,我們用ida來分析一下:

技術分享

直接定位到main函數:

技術分享

分析函數算法:

v3=a,v4=a5y,v5=aR3versing,string=E

拼接後得到flag:Ea5yR3versing

reversing.kr easy crack 之write up