OllyDBG簡單爆破小記_第1頁
OllyDBG簡單爆破小記_第2頁
OllyDBG簡單爆破小記_第3頁
OllyDBG簡單爆破小記_第4頁
OllyDBG簡單爆破小記_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、OllyDBG簡單爆破小記OllyDBG簡單爆破小記一假期東逛逛西逛逛逛蕩了好幾天。總算是抽空干了點(diǎn)正事,看著教程試著用OllyDBG爆破了一個(gè)極簡單的TraceMe小程序。東西不難,算是個(gè)基礎(chǔ)吧。004013A0<模塊入口點(diǎn)>PUSHEBP程序入口在004013A0處。按F9讓程序跑起來:很清晰的看到這是一個(gè)驗(yàn)證用戶名和序列號(hào)的小程序,那么我們要跟蹤的當(dāng)然是USER32.GetDlgItemText或者類似的API函數(shù)。我這里占個(gè)便宜,聯(lián)系程序已經(jīng)給出是32位ANSI版的,那很自然的我們要鎖定USER32.GetDlgItemTextA這時(shí),我們可以按Ctrl+N

2、來獲取應(yīng)用程序輸入表,很容易我們就能找到我們要的東東之后按ENTER轉(zhuǎn)入即可。當(dāng)然,也可以用Ctrl+G來跟隨這個(gè)函數(shù)總之我們的目的就是找到這個(gè)USER32.GetDlgItemTextA的入口,現(xiàn)在我們的目的達(dá)到了:MOV EDI,EDI76632AE1GetDlgItemTextA入口位置在76632AE1。當(dāng)然這個(gè)位置不同系統(tǒng)是不一樣的,不必在意。在這里用F2設(shè)置一個(gè)斷點(diǎn),再用Alt+F9返回TraceMe程序領(lǐng)空。按F9將程序跑起來。用戶名和序列號(hào)我們隨便輸入一個(gè)即可:點(diǎn)擊Check之后當(dāng)然會(huì)卡在剛才設(shè)置的斷點(diǎn)處,再用Alt+F9回到程序領(lǐng)空,我們很容易的就找到了調(diào)用USER32.Ge

3、tDlgItemTextA函數(shù)的位置。我們用Alt+B打開斷點(diǎn)列表,禁用掉76632AE1處的斷點(diǎn),然后在程序調(diào)用API函數(shù)的地方設(shè)置一個(gè)新的斷點(diǎn):004011AEPUSH51;/Count=51(81.)004011B0PUSHEAX;|Buffer004011B1PUSH6E;|ControlID=6E(110.)004011B3PUSHESI;|hWnd004011B4CALLEDI;GetDlgItemTextA004011B6LEAECX,DWORDPTRSS:ESP+9C004011BDPUSH65;/Count=65(101.)004011BFPUSHECX;|Buffer004

4、011C0PUSH3E8;|ControlID=3E8(1000.)004011C5PUSHESI;|hWnd004011C6MOVEBX,EAX;|004011C8CALLEDI;GetDlgItemTextA我們就在這個(gè)004011AE處設(shè)置一個(gè)新的斷點(diǎn),然后再重新來過,把程序再跑一遍。到達(dá)這個(gè)004011AE處,程序會(huì)停住,然后我們就用F8單步執(zhí)行這個(gè)程序。在004011B0處我們看到命令是PUSHEAX,那么就在旁邊的寄存器窗口中右鍵點(diǎn)擊EAX寄存器,選擇“數(shù)據(jù)窗口中跟隨”。這時(shí)下方的數(shù)據(jù)窗口中就會(huì)鎖定EAX寄存器指向的位置。我們繼續(xù)用F8單步跟蹤,并注意觀察下方的數(shù)據(jù)窗口。運(yùn)行到00

5、4011B4時(shí)調(diào)用API函數(shù),到004011B6時(shí),下方的數(shù)據(jù)窗口顯示出我們剛剛輸入的用戶名:同理,運(yùn)行到004011CA的時(shí)候,序列號(hào)也會(huì)相應(yīng)的顯示出來:那么下面就應(yīng)該是計(jì)算用戶名和序列號(hào)的關(guān)鍵了:004011CAMOVAL,BYTEPTRSS:ESP+4C004011CETESTAL,AL004011D0JESHORTTraceMe.00401248004011D2CMPEBX,5004011D5JLSHORTTraceMe.00401248004011D7LEAEDX,DWORDPTRSS:ESP+4C004011DBPUSHEBX004011DCLEAEAX,DWORDPTRSS:ES

6、P+A0004011E3PUSHEDX004011E4PUSHEAX004011E5CALLTraceMe.00401340004011EAMOVEDI,DWORDPTRDS:<&USER32.GetDlgItem>USER32.GetDlgItem004011F0ADDESP,0C004011F3TESTEAX,EAX004011F5JESHORTTraceMe.0040122E根據(jù)上面的代碼可看出,004011F5處如果不跳轉(zhuǎn),則注冊成功。那么我們可以通過給標(biāo)志寄存器ZF取反或者直接把004011F5處代碼修改為控指令來實(shí)現(xiàn)我們的爆破。后面就是保存文件之類的事情了,不再贅述。而具體的算法分析,就真的是要靠讀程序了,這次就不再發(fā)了。后面小附一個(gè)這回常用的OllyDBG快鍵功能表:OllyDBG快鍵功能F2在光標(biāo)處設(shè)置斷點(diǎn)/取消斷點(diǎn)Ctrl+F2OllyDBG結(jié)束被調(diào)試程序并重新加載F7單步步進(jìn),遇到CALL跟進(jìn)Ctrl+F7連續(xù)步進(jìn),遇到CALL跟進(jìn)F8單步步進(jìn),遇到CALL路過,不跟進(jìn)Ctrl+F8連續(xù)步進(jìn),遇到CALL路過,不跟進(jìn)F9運(yùn)行程序C

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論