freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

ollydbg圖文入門教程資料-wenkub

2022-11-14 05:21:35 本頁面
 

【正文】 這里要附加的程序必須已運(yùn)行。要注意的是 OllyDBG 對(duì)插件的個(gè)數(shù)有限制,最多不能超過 32 個(gè),否則會(huì)出錯(cuò)。 除了直接啟動(dòng) OllyDBG 來調(diào)試外,我們還可以把 OllyDBG 添加到資源管理器右鍵菜單,這樣我們就可以直接在 .exe 及 .dll 文件上點(diǎn)右鍵選擇 “ 用 Ollydbg 打開 ” 菜單來進(jìn)行調(diào)試。如果不設(shè)置這個(gè) UDD 目錄, OllyDBG 默認(rèn)是在其安裝 目錄下保存這些后綴名為 udd 的文件,時(shí)間長了就會(huì)顯的很亂,所以還是建議專門設(shè)置一個(gè)目錄來保存這些文件。在這個(gè)對(duì)話框上點(diǎn)確定,重新啟動(dòng)一下 OllyDBG,我們?cè)俚浇缑孢x項(xiàng)中看一下,會(huì)發(fā)現(xiàn)我們?cè)仍O(shè)置好的路徑都已保存了。 啟動(dòng)后我們要把插件及 UDD 的目錄配置為絕對(duì)路徑,點(diǎn)擊菜單上的 選項(xiàng) 界面,將會(huì)出來一個(gè)界面選項(xiàng)的對(duì)話框 ,我們點(diǎn)擊其中的目錄標(biāo)簽:因?yàn)槲疫@里是把 OllyDBG 解壓在 F:\OllyDBG 目錄下,所以相應(yīng)的 UDD 目錄及插件目錄按圖上配置。 數(shù)據(jù)窗口:顯示內(nèi)存或文件的內(nèi)容。用鼠標(biāo)左鍵點(diǎn)擊注釋標(biāo)簽可以切換注釋顯示的方式。OllyDBG 入門系列(一)-認(rèn)識(shí) OllyDBG 一、 OllyDBG 的安裝與配置 OllyDBG 版的發(fā)布版本是個(gè) ZIP 壓縮包,只要解壓到一個(gè)目錄下,運(yùn)行 就可以了。 寄存器窗口: 顯示當(dāng)前所選線程的 CPU 寄存器內(nèi)容。右鍵菜單可用于切換顯示方式。還有一個(gè)常用到的標(biāo)簽就是上圖后面那個(gè)字體,在這里你可以更改 OllyDBG 中顯示的字體。有人可能知道插件的作用,但對(duì)那個(gè) UDD 目錄不清楚。 另外一個(gè)重要的選項(xiàng)就是調(diào)試選項(xiàng),可通過菜單 選項(xiàng) 調(diào)試設(shè)置 來配置: 新手一般不需更改這里的選項(xiàng),默認(rèn)已配置好,可以直接使用。要把 OllyDBG 添加到資源管理器右鍵菜單,只需點(diǎn)菜單 選項(xiàng) 添加到瀏覽器,將會(huì)出現(xiàn)一個(gè)對(duì)話框,先點(diǎn)擊 “ 添加 Ollydbg 到系統(tǒng)資源管理器菜單 ” ,再點(diǎn)擊 “ 完成 ” 按鈕即可。建議插件不要添加的太多。第三種就是用右鍵菜單來載入程序(不知這種算不算)。每按一次這個(gè)鍵執(zhí)行一條反匯編窗口中的 一條指令,遇到 CALL 等子程序不進(jìn)入其代碼。作用就是直接運(yùn)行到光標(biāo)所在位置處暫停。 此命令在執(zhí)行到一個(gè) ret (返回指令 )指令時(shí)暫停,常用于從系統(tǒng)領(lǐng)空返回到我們調(diào)試的程序領(lǐng)空。要開始調(diào)試只需設(shè)置好斷點(diǎn),找到你感興趣的代碼段再按 F8 或 F7 鍵來一條條分析指令功能就可以了。原版加了個(gè) UPX 的殼。如果是序列號(hào)方式可以先輸個(gè)假的來試一下,看看有什么反應(yīng),也給我們破解留下一些有用的線索。獲得程序的一些基本信息后,還要用查殼的工具來查一下程序是否加了殼,若沒殼的話看看程序是什么編譯器編的,如 VC、 Delphi、 VB 等。我們?cè)谀莻€(gè) “Register now !”按鈕上點(diǎn)擊一下,將會(huì)跳出一個(gè)對(duì)話框: 好了,今天我們就從這個(gè)錯(cuò)誤對(duì)話框中顯示的 “Wrong Serial, try again!” 來入手。 ASCII Wrong Serial,try again! 00440F7E |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44] 00440F83 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00440F85 |. E8 DEC0FFFF CALL 00440F8A |. EB 18 JMP SHORT 00440F8C | 6A 00 PUSH 0 00440F8E |. B9 80104400 MOV ECX, 。 關(guān)鍵,要用 F7 跟進(jìn)去 00440F39 |. 75 51 JNZ SHORT 。 這里跳走就完蛋 00440F58 |. 6A 00 PUSH 0 00440F5A |. B9 3C104400 MOV ECX, 。 ASCII Wrong Serial,try again! 00440F7E |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44] 00440F83 |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00440F85 |. E8 DEC0FFFF CALL 00440F8A |. EB 18 JMP SHORT 00440F8C | 6A 00 PUSH 0 00440F8E |. B9 80104400 MOV ECX, 。如果你在 調(diào)試選項(xiàng)CPU 標(biāo)簽中把 “顯示跳轉(zhuǎn)路徑 ”及其下面的兩個(gè) “如跳轉(zhuǎn)未實(shí)現(xiàn)則顯示灰色路徑 ”、 “顯示跳轉(zhuǎn)到選定命令的路徑 ”都選上的話,就會(huì)看到是從什么地方跳到出錯(cuò)字串處的: 我們?cè)谏蠄D中地址 00440F2C 處按 F2 鍵設(shè)個(gè)斷點(diǎn),現(xiàn)在我們按 F9 鍵,程序已運(yùn)行起來了。而 EAX=00000009 指的是你輸入內(nèi)容的長度。 ASCII Registered User 00440F34 |. E8 F32BFCFF CALL 。 把 EDX 內(nèi)的數(shù)據(jù) “Registered User”送到 EDI 00403B33 |. 39D0 CMP EAX,EDX 。 用戶名為空則跳 00403B3F |. 85FF TEST EDI,EDI 00403B41 |. 74 6B JE SHORT 00403B43 |. 8B46 FC MOV EAX,DWORD PTR DS:[ESI4] 。 用戶名長度大于 “Registered User”長度則跳 00403B4D |. 01C2 ADD EDX,EAX 。 把我們輸入的用戶名送到 ECX 00403B57 |. 8B1F MOV EBX,DWORD PTR DS:[EDI] 。我們按 F9 鍵讓程序運(yùn)行,出現(xiàn)錯(cuò)誤對(duì)話框,點(diǎn)確定,重新在第一個(gè)編輯框中輸入 “Registered User”,再次點(diǎn)擊那個(gè) “Register now !”按鈕,被 OllyDBG 攔下。 ASCII GFX754IER954 00440F51 |. E8 D62BFCFF CALL 。 我們執(zhí)行到現(xiàn)在可以很容易得出結(jié)論,這個(gè) CALL 也就是把我們輸入的注冊(cè)碼與 00440F4C 地址處指令后的 “GFX 754IER954” 作比較,相等則 OK?,F(xiàn)在我們把斷點(diǎn)禁用,在 OllyDBG 中按 F9 鍵讓程序運(yùn)行。再試試輸入字母或其它字符,輸不進(jìn)去。先不要點(diǎn)那個(gè) “Check It” 按鈕,保留上圖的 狀態(tài)。每個(gè)函數(shù)都有兩個(gè)版本,一個(gè)是 ASCII 版,在函數(shù)后添加一個(gè) A 表示,如 GetDlgItemTextA,另一個(gè)是 UNICODE 版,在函數(shù)后添加一個(gè) W 表示。一般我們打開的程序看到的調(diào)用都是 ASCII 類型的函數(shù),以 “A” 結(jié)尾。在這個(gè)函數(shù)上右擊,在彈出菜單上選擇 “ 在每個(gè)參考上設(shè)置斷點(diǎn) ” ,我們會(huì)在 OllyDBG 窗口最下面的那個(gè)狀態(tài)欄里看到“ 已設(shè)置 2 個(gè)斷點(diǎn) ” 。斷點(diǎn)設(shè)好后我們轉(zhuǎn)到我們調(diào)試的程序上來,現(xiàn)在我們?cè)诒晃覀冋{(diào)試的程序上點(diǎn)擊那個(gè) “Check It”按鈕,被 OllyDBG 斷下: 00401323 |. E8 4C010000 CALL JMP.amp。 比較 0040132F |. 75 42 JNZ SHORT 。 Title = Crudd39。 hOwner 0040136E |. E8 19010000 CALL JMP.amp。s Crack Head”,對(duì)話框顯示的內(nèi)容是 “Now write a keygen and tut and you39。 0040147A $ FF25 30204000 JMP DWORD PTR DS:[amp。 00401486 $ FF25 20204000 JMP DWORD PTR DS:[amp。 原來是跳到另一個(gè)斷點(diǎn)了。 關(guān)鍵,要按 F7 鍵跟進(jìn)去 0040132D |. 3BC6 CMP EAX,ESI 。 ESI 入棧 004013D3 |. 33C0 XOR EAX,EAX 。 EDX 清零 004013DF |. 8A06 MOV AL,BYTE PTR DS:[ESI] 。 不等則跳 004013E6 |. BA FFFFFFFF MOV EDX,1 。 每位字符減 16 進(jìn)制的 30,因?yàn)檫@里都是數(shù)字,如 1 的 ASCII 碼是 “31H”,減 30H 后為 1,即我們平時(shí)看到的數(shù)值 004013F2 |. 8D0C89 LEA ECX,DWORD PTR DS:[ECX+ECX*4] 。 指針加 1,指向再下一個(gè)字符 004013FB | 0AC0 OR AL,AL 004013FD |.^ 75 F1 JNZ SHORT 。如果我們輸入的是負(fù)數(shù),則此處功能就是把 EAX 中的值取反 00401404 |. 5E POP ESI ?,F(xiàn)在我們回到了這里: 0040132D |. 3BC6 CMP EAX,ESI 。我們來看一下信息窗口: ESI=E6B5F2F9 EAX=FF439EBE 左鍵選擇信息窗口 中的 ESI=E6B5F2F9,再按右鍵,在彈出菜單上選 “ 修改寄存器 ” ,我們會(huì)看到這樣一個(gè)窗口: 可能你的顯示跟我不一樣,因?yàn)檫@個(gè) crackme 中已經(jīng)說了每個(gè)機(jī)器的序列號(hào)不一樣。且慢高興,這個(gè) crackme 是要求寫出注冊(cè)機(jī)的。今天就先說到這里,關(guān)于如何追出 ESI 寄存器的值我就留到下一篇 OllyDBG 入門系列(四)-內(nèi)存斷點(diǎn) 中再講吧。下面我們開始: 還記得我們上篇中所說的關(guān)鍵代碼的地方嗎?溫習(xí)一下: 00401323 |. E8 4C010000 CALL JMP.amp。 比較 0040132F |. 75 42 JNZ SHORT 。現(xiàn)在怎么辦呢?我們考慮一下,看情況程序是把這個(gè)值算出來以后寫在這個(gè)內(nèi)存地址,那我們要是能讓 OllyDBG 在程序開始往這個(gè)內(nèi)存地址寫東西的時(shí)候中斷下來,不就有可能知道目標(biāo)程序是怎么 算出這個(gè)值的嗎?說干就干,我們?cè)? OllyDBG 的菜單上點(diǎn) 調(diào)試 重新開始,或者按 CTR+F2 組合鍵(還可以點(diǎn)擊工具欄上的那個(gè)有兩個(gè)實(shí)心左箭頭的圖標(biāo))來重新載入程序。在 OllyDBG 中一般我們用到的內(nèi)存斷點(diǎn)有內(nèi)存訪問和內(nèi)存寫入斷點(diǎn)。我們先在 OllyDBG 的數(shù)據(jù)窗口中左鍵點(diǎn)擊一下,再右擊,會(huì)彈出一個(gè)如下圖所示的菜單。內(nèi)存斷點(diǎn)的特性就是不管你選幾個(gè)字節(jié), OllyDBG 都會(huì)分配 4096 字節(jié)的內(nèi)存區(qū)。且內(nèi)存斷點(diǎn)每一時(shí)刻只能有一個(gè)。如果你是其它系統(tǒng),如 Win98 的話,可能會(huì)有所不同。返回前我們看一下數(shù)據(jù)窗口: 現(xiàn)在我們轉(zhuǎn)到反匯編窗口,右擊鼠標(biāo),在彈出菜單上選擇斷點(diǎn) 刪除內(nèi)存斷點(diǎn),這樣內(nèi)存斷點(diǎn)就被刪除了。 。 |pFileSystemNameBuffer = NULL 0040141D |. 6A 00 PUSH 0 。 |MaxVolumeNameSize = B (11.) 00401425 |. 68 9C334000 PUSH 。 \GetVolumeInformationA 00401431 |. 8D35 9C334000 LEA ESI,DWORD PTR DS:[40339C] 。 磁盤類型參數(shù)送 EAX 00401442 |. 8B1E MOV EBX,DWORD PTR DS:[ESI] 。 把磁盤類型參數(shù)作為循環(huán)次數(shù),依次遞減 00
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1