摘要:作者逆向驛站微信公眾號(hào)逆向驛站知乎逆向驛站依然是的,而且沒殼子,條線比較清晰,算法也不難,非常適合新入門的來練習(xí)快過年了,系列年前就停更在吧,祝大家新年年后繼續(xù)準(zhǔn)備環(huán)境和工具虛擬機(jī)環(huán)境學(xué)習(xí)層次逆向分析程序驗(yàn)證流程邏輯解密算法,寫注冊(cè)機(jī)積累程
作者:逆向驛站
微信公眾號(hào):逆向驛站
知乎:逆向驛站
crackme006,依然是delphi的,而且沒殼子,條線比較清晰,算法也不難,非常適合新入門的來練習(xí).準(zhǔn)備
快過年了,Crackme系列年前就停更在006吧,祝大家新年666 ,年后繼續(xù)
【環(huán)境和工具】
win7/xp虛擬機(jī)環(huán)境
CrackMe006(aLoNg3x.1.exe)
ollydbg
Dededark
【學(xué)習(xí)層次】
逆向分析程序驗(yàn)證流程邏輯
解密算法,寫注冊(cè)機(jī)
積累Delphi程序逆向特點(diǎn)經(jīng)驗(yàn)
實(shí)戰(zhàn)圖文最終效果展示
程序驗(yàn)證流程邏輯圖
動(dòng)態(tài)分析
1.程序觀察
旁邊既然有個(gè)help,我們當(dāng)然要看了,四個(gè)彈框,有實(shí)際信息價(jià)值的是頭兩個(gè),如圖
大體意思是,這個(gè)crackme的最終目標(biāo)是隱藏ok和cancella按鈕來觀看完整的Ringzero logo。
2.控件ID,事件函數(shù)信息
依然老規(guī)矩,既然是delphi的程序,我們就先用dededark給控件信息和事件函數(shù)信息搜集出來
3.控件ID常量搜索法,打開入手點(diǎn)
程序開始是ok按鈕是禁用狀態(tài),cancella按鈕是可以點(diǎn)擊的,那么我們就從cancella入手,兩個(gè)方向,你可以去找cancellaclick事件的函數(shù)入手,也可以從cancella控件ID入手,我這里選擇后者,因?yàn)樽罱K目的是cancella要被隱藏起來,無論如何一定會(huì)用到控件ID
查找→所有常量→2D0(cancella按鈕控件ID),結(jié)果如下
一共有四個(gè)地方用到了這個(gè)控件ID,我們分別跟入查看哪個(gè)是我們想找的隱藏這個(gè)控件的反匯編代碼,從上至下依次如下
找到了入手點(diǎn),我們開始上下閱讀函數(shù)塊,發(fā)現(xiàn)這正是cancellaclick事件函數(shù)
4.分析Cancellaclick中算法
在Cancellaclick函數(shù)入口處下斷點(diǎn),然后用戶名輸入123456,注冊(cè)碼輸入654321,然后開始動(dòng)態(tài)調(diào)試分析,F(xiàn)8步過分析如下圖
F7跟如算法call仔細(xì)分析,如下圖
這種不是摘要hash的,是直接可以逆推計(jì)算出注冊(cè)碼,根據(jù)以上算法的反匯編分析,寫出逆推注冊(cè)碼的源碼,如下
例如我們輸入的用戶名是123456,逆推注冊(cè)碼計(jì)算如下
"123456"的第五個(gè)字符是"5",asc碼是53,即十六進(jìn)制0x35
除以7余數(shù)是4,再加2是6
6的階乘是6 5 4 3 2 *1,等于720 ,即十六進(jìn)制的0x2D0
123456每個(gè)字符的asc碼相加是0x31+0x32+0x33+0x34+0x35+0x36,結(jié)果是0x135
0x135 乘以0x2D0是0x36510
0x36510比注冊(cè)碼的十六進(jìn)制形態(tài)大0x7A69
即注冊(cè)碼是0x36510-0x7A69 = 0x2EAA7 ,即十進(jìn)制是191143
算出了注冊(cè)碼,我們來測(cè)試一下,如下動(dòng)圖
Cancella按鈕消失
5.分析OK按鈕中算法
有了如上的過程作為經(jīng)驗(yàn),我們"依葫蘆畫瓢",來進(jìn)行ok按鈕中的算法分析,依然是okClick事件入口下斷,F(xiàn)8動(dòng)態(tài)分析,結(jié)果如下
F7跟如算法call仔細(xì)分析,如下圖
分析后發(fā)現(xiàn),這個(gè)算法是根據(jù)已經(jīng)算出的注冊(cè)碼,再次要求用戶名合規(guī),算法并不難,而且很敏感的看到0x41,0x41對(duì)應(yīng)的asc字符是大寫字母A,而0x41加上的數(shù)字的取值范圍是0-0x19,即十進(jìn)制0-25,那一看就知道,就是26個(gè)大寫字母范圍內(nèi)了,這時(shí)候你可以{{BANNED}}的暴力枚舉也行,當(dāng)然這個(gè)也是可以逆推出來,我們還是選擇逆推吧。源碼如下
我們剛輸入的注冊(cè)碼是191143,逆推出用戶名應(yīng)該是"BXDEUG",驗(yàn)證如下動(dòng)圖
OK按鈕消失,至此全部搞定, 是不是感覺不難,去網(wǎng)盤中下載,試試吧
補(bǔ)充知識(shí)點(diǎn)
再CancellaClick事件算法中,有個(gè)階乘計(jì)算,函數(shù)內(nèi)部反匯編代碼如下,可以作為知識(shí)點(diǎn)積累,下次看到這個(gè)第一時(shí)間就能反應(yīng)過來,提高效率,逆向的老手往往是這種知識(shí)碎片很多,而且腦部搜索算法很精準(zhǔn)
最后,喜歡這里的請(qǐng)推薦給你身邊的朋友吧(滲透測(cè)試、逆向破解、病毒分析、信息安全等)
文章中涉及軟件、課件、源碼等均在網(wǎng)盤,為避免網(wǎng)盤鏈接失效,公眾號(hào)中回復(fù):網(wǎng)盤
歡迎關(guān)注微信公眾號(hào):逆向驛站
相關(guān)文章
● CrackMe-005精解(下)
● CrackMe-005精解(上)
● CrackMe-004精解
● CrackMe-003精解
● CrackMe-002精解
● CrackMe-001精解
本期標(biāo)簽:dededark|delphi反匯編|crackme|crackme6|crackme06
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/11458.html
摘要:所以按鈕消失的方法是跟一模一樣的,只是他消失后,不再顯示其他按鈕而已,至此注冊(cè)成功,的標(biāo)題也溫順的變成了了。 作者:逆向驛站微信公眾號(hào):逆向驛站知乎:逆向驛站showImg(https://segmentfault.com/img/bVbokBO?w=1100&h=627); crackme007,是006的升級(jí)版,程序開發(fā)者給出的難度是3星,可能是迷惑有點(diǎn)多?個(gè)人覺得條線還是比較清晰...
摘要:作者逆向驛站微信公眾號(hào)逆向驛站知乎逆向驛站上篇說了具體方法,下篇來發(fā)逆向分析過程,看看老夫是如何得到上篇的具體方法的準(zhǔn)備環(huán)境和工具虛擬機(jī)環(huán)境專用脫殼器學(xué)習(xí)層次爆破,但是這個(gè)作者聲明了,爆破他是不認(rèn)可的解密流程,寫注冊(cè)機(jī)積累程序逆向特點(diǎn)經(jīng)驗(yàn)詳 作者:逆向驛站微信公眾號(hào):逆向驛站知乎:逆向驛站showImg(https://segmentfault.com/img/bVbnHJT?w=11...
摘要:作者逆向驛站微信公眾號(hào)逆向驛站知乎逆向驛站若不是老鳥,是不是經(jīng)常為各種匯編跳轉(zhuǎn)指令查資料影響效率,更影響潛意識(shí)整體分析的靈光一現(xiàn)。 作者:逆向驛站微信公眾號(hào):逆向驛站知乎:逆向驛站showImg(https://segmentfault.com/img/bVbnMTu?w=1100&h=762); 若不是老鳥,是不是經(jīng)常為各種JXX匯編跳轉(zhuǎn)指令查資料?影響效率,更影響潛意識(shí)整體分析的靈...
閱讀 1373·2021-11-15 11:37
閱讀 2680·2021-09-22 10:56
閱讀 3469·2021-09-06 15:11
閱讀 896·2021-08-31 09:45
閱讀 3021·2021-07-28 11:16
閱讀 1881·2019-08-30 15:44
閱讀 541·2019-08-30 13:22
閱讀 3399·2019-08-30 13:18