序列號破解 注意api下斷點方法

最近和論壇的小廷一起參加了西電的網絡***比賽,我負責了Crack的部分,學到了很多。本人也是初學破解,小菜一枚。很喜歡破解,很享受其中分析的過程。下面分享一下我的經驗,能力有限,難免有不對的地方,希望大家多多指正,共同進步~

下面分享的是crackme2。爆破,以及破解自校驗。

首先是爆破,尋找關鍵點。
1、用PEID查看,nothing found,什麼也沒找到,不用着急,我們還有後續的判斷措施;
2、用OD載入,f9,運行程序,發現正常顯示了對話框,說明沒有設置偵測OD等調試工具的措施。如果該程序設置了反調試函數,則OD無法正常運行程序的,會直接退出;
3、選擇內存查看'M',或者按快捷鍵'alt+M',查看當前代碼所在的區塊。發現在代碼區,沒有加殼。如果程序加了殼的話,程序載入的時候,控制權會首先掌握在殼的手裏,隱藏真正的入口位置。載入時當前代碼就不在代碼區了;
wKioL1Ors5yA3hwUAAGDJuao6MM583_small.jpg

4、接着隨意填入name,serial值,點擊register ,出現消息框提示‘wrong’,什麼都不輸入,出現'not be empty',輸入超過16個字符,出現‘less than 16 bytes’。將這些提示字符串都在參考字符串中搜索,發現都找不到。
現在這個方法不行了,我們再想其他的辦法。既然有消息框,那麼我們就直接尋找消息框的函數,MessageBox.
5、打開當前模塊的名稱,或者按下快捷鍵'ctrl+N',直接輸入'MessageBox'。右擊選中MessageBox,選擇‘反彙編窗口中跟隨’,然後在USER32 的領空先下好斷點。
attachimg.gif

attachimg.gif

不能直接在輸入函數窗口中下斷點,輸入函數窗口中顯示的地址是pe輸入表中函數字符串存放的地址。
6、ctrl+f2重新載入,f9運行,輸入name和serial,程序斷下了,ctrl+f9執行到返回。接着可以看到右邊寄存器窗口中字符串'Wrong',還有上面有一個可疑的je跳轉,發現上面的call eax就調用了Messagebox。這樣,我們在上面的je下斷點。
wKioL1Ors5zRKAwmAAPrOEn0f3U929_small.jpg

再次重新載入運行,輸入name和serial,程序直接斷下。我們直接將je 改爲jmp,直接f9運行,爆破成功,出現恭喜消息框。




這樣我們就實現了爆破。保存修改後。點擊運行發現程序直接跳出。這就是文件自校驗了。
文件的自校驗手段有文件大小校驗,時間校驗等等。
這個程序的校驗方法,我們依舊採取對比跟蹤的思路,但是爲了減小工作量,我們直接採用createfile函數下斷點的方法進行破解。
createfile函數可以獲得一個文件的句柄,從而獲取文件的大小等操作。
1、載入破解的程序,ctrl+N打開輸入函數列表。找到createfile。這裏介紹另一種下斷點的方法,右鍵選擇查看“調用樹”,裏面羅列了所有調用了這個庫函數的位置。在第一個位置下斷點。
2、f9運行,程序斷下,查看堆棧窗口的filename 是本文件的地址。說明在讀自己。
wKioL1Ors5yx_F65AASGAJVOT_E956_small.jpg

3、od打開原始文件,同樣在craetefile位置下斷點。接着運行兩個程序,進行比對,找到不同的地方。
wKioL1Ors5yRDGEoAAKZRkqq0qQ399_small.jpg

4、發現在PostQuitMessage的地方出現了不同,修改上面的jnz爲jmp強制跳轉,自校驗破解成功。

attachimg.gif


總結一下:
對於爆破,獲取提示信息很重要,通過提示信息查找字符串是一種方法,當這種方法行不通的時候,就打開輸入函數列表,查找相關函數下斷點。如MessageBox,GetWindowTeXt等,

GetWindowTeXt會獲取控件的字符串。一般程序獲取輸入的用戶名密碼等等,都會用到這個函數,本程序也可以使用這個方法來找到關鍵點,朋友們可以試試,只是繞的彎要多一點。不過對於初學的我們,多多的把玩一個程序,多種方法都嘗試下,是很有幫助的~




羅列一下看雪裏面的一般處理的斷點函數:


bpx hmemcpy


bpx MessageBox


bpx MessageBoxExA


bpx MessageBeep


bpx SendMessage



bpx GetDlgItemText


bpx GetDlgItemInt


bpx GetWindowText


bpx GetWindowWord


bpx GetWindowInt



對於破解自校驗,比較有效但是花費時間的方法就是OD跟蹤對比源文件與破解的文件,尋找不同。爲了減小工作量,可以用

createfile來鎖定位置。




破解原件下載地址:歡迎大家把玩,以及提出其他好玩的方法來破解~吼吼


http://pan.baidu.com/s/11MPpj


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章