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

正文內(nèi)容

ollydbg圖文入門教程資料(更新版)

  

【正文】 MOV EAX,DWORD PTR DS:[EAX] 00440F9F |. E8 C4C0FFFF CALL 我們?cè)诜磪R編窗口中向上滾動(dòng)一下再看看: 00440F2C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP4] 00440F2F |. BA 14104400 MOV EDX, 。有殼的話我們要盡量脫了殼后再來(lái)用 OllyDBG 調(diào)試,特殊情況下也可帶殼調(diào)試。我這里把殼脫掉來(lái)分析,附件是脫殼后的文件,直接就可以拿來(lái)用??捎糜趶南到y(tǒng)領(lǐng)空快速返回到我們調(diào)試的程序領(lǐng)空。功能同單步步過(guò) (F8)類似,區(qū)別是遇到 CALL 等子程序時(shí)會(huì)進(jìn)入其中,進(jìn)入后首先會(huì)停留在子程序的第一條指令上。 二、基本調(diào)試方法 OllyDBG 有三種方式來(lái)載入程序進(jìn)行調(diào)試,一種是點(diǎn)擊菜單 文件 打開(kāi) (快捷鍵是 F3)來(lái)打開(kāi)一個(gè)可執(zhí)行文件進(jìn)行調(diào)試,另一種是點(diǎn)擊菜單 文件 附加 來(lái)附加到一個(gè)已運(yùn)行的進(jìn)程上進(jìn)行調(diào)試。上面那個(gè)異常標(biāo) 簽中的選項(xiàng)經(jīng)常會(huì)在脫殼中用到,建議在有一定調(diào)試基礎(chǔ)后學(xué)脫殼時(shí)再配置這里。修改完以后點(diǎn)擊確定,彈出 一個(gè)對(duì)話框,說(shuō)我們更改了插件路徑,要重新啟動(dòng) OllyDBG。 信息窗口:顯示反匯編窗口中選中的第一個(gè)命令的參數(shù)及一些跳轉(zhuǎn)目標(biāo)地址、字串等。漢化版的發(fā)布版本是個(gè) RAR 壓縮包,同樣只需解壓到一個(gè)目錄下運(yùn)行 即可: 圖片 1 OllyDBG 中各個(gè)窗口的功能如上圖。 堆棧窗口:顯示當(dāng)前線程的堆棧。我這簡(jiǎn)單解釋一下:這個(gè) UDD 目錄的作用是保存你調(diào)試的工作。要從右鍵菜單中刪除也很簡(jiǎn)單,還是這個(gè)對(duì)話框,點(diǎn)擊 “ 從系統(tǒng) 資源管理器菜單刪除 Ollydbg” ,再點(diǎn)擊 “ 完成 ” 就行了。一般情況下我們選第一種方式。(相當(dāng)于 SoftICE 中的 F7) F9:運(yùn)行。就寫(xiě)到這了,改天有空再接著灌。如果沒(méi)有輸入注冊(cè)碼的地方,要考慮一下是不是讀取注冊(cè)表或 Key 文件(一般稱 keyfile,就是程序讀取一個(gè)文件中的內(nèi)容來(lái)判斷是否注冊(cè)),這些可以用其它工具來(lái)輔助分析。啟動(dòng) OllyDBG,選擇菜單 文件 打開(kāi) 載入 文件,我們會(huì)停在這里: 我們?cè)诜磪R編窗口中右擊,出來(lái)一個(gè)菜單,我們?cè)? 查找 所有參考文本字串 上左鍵點(diǎn)擊: 當(dāng)然 如果用上面那個(gè) 超級(jí)字串參考+ 插件會(huì)更方便。 這里跳走就完蛋 00440F3B |. 8D55 FC LEA EDX,DWORD PTR SS:[EBP4] 00440F3E |. 8B83 C8020200 MOV EAX,DWORD PTR DS:[EBX+2C8] 00440F44 |. E8 D7FEFDFF CALL 00440F49 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP4] 00440F4C |. BA 2C104400 MOV EDX, 。 ASCII Beggar off! 00440F93 |. BA 8C104400 MOV EDX, 。如我輸入的 CCDebuger 是 9 個(gè)字符。 用 “Registered User”和我們輸入的用戶名作比較 00403B35 |. 0F84 8F000000 JE 。 把減后值與 “Registered User”長(zhǎng)度相加,即用戶名長(zhǎng)度 00403B4F | 52 PUSH EDX 00403B50 |. C1EA 02 SHR EDX,2 。因?yàn)榈刂? 00440F34 處的那個(gè) CALL 我們已經(jīng)分析清楚了,這次就不用再按 F7 鍵跟進(jìn)去了,直接按 F8 鍵通過(guò)。好了,我們已經(jīng)得到足夠的信息了。由此判斷注冊(cè)碼應(yīng)該都是數(shù)字,只有輸入正確的注冊(cè)碼才有動(dòng)靜。如 GetDlgItemTextW。另一種方法就是那個(gè) GetWindowTextA 函數(shù)上右擊,在彈出菜單上選擇 “ 查找輸入函數(shù)參考 ” (或者按回車鍵),將會(huì)出現(xiàn)下面的對(duì)話框: 看上圖,我們可以把兩條都設(shè)上斷點(diǎn)。 不等則完蛋 00401331 |. EB 2C JMP SHORT 00401333 |. 4E 6F 77 20 7 ASCII Now write a keyg 00401343 |. 65 6E 20 61 6 ASCII en and tut and y 00401353 |. 6F 75 27 72 6 ASCII ou39。 。] 。這個(gè)斷點(diǎn)我們不需要,按一下 F2 鍵刪掉它吧。 EAX 清零 004013D5 |. 8D35 C4334000 LEA ESI,DWORD PTR DS:[4033C4] 。 如果輸入的是負(fù)數(shù),則把 1 送到 EDX,即 16 進(jìn)制 FFFFFFFF 004013EB |. 8A06 MOV AL,BYTE PTR DS:[ESI] 。 上面一條和這一條指令主要是用來(lái)判斷是否已把用戶輸入的注冊(cè)碼計(jì)算完 004013FF |. 8D040A LEA EAX,DWORD PTR DS:[EDX+ECX] 。 比較 0040132F |. 75 42 JNZ SHORT 。我們先不要求寫(xiě)注冊(cè)機(jī),但注冊(cè)的算法我們要搞清楚。 。這時(shí)會(huì)跳出一個(gè) “ 進(jìn)程仍處于激活狀態(tài) ” 的對(duì)話框(我們可以在在調(diào)試選項(xiàng)的安全標(biāo)簽下把 “ 終止活動(dòng)進(jìn)程時(shí)警告 ” 這條前面的勾去掉,這樣下次就不會(huì)出現(xiàn)這個(gè)對(duì)話框了),問(wèn)我們是否要終止進(jìn)程。我們選擇其中的轉(zhuǎn)到 表達(dá)式(也可以左鍵點(diǎn)擊數(shù)據(jù)窗口后按 CTR+G 組合 鍵)。就是說(shuō)你不能像按 F2 鍵那樣同時(shí)設(shè)置多個(gè)斷點(diǎn))。 現(xiàn)在我們來(lái)按一下 ALT+F9 組合鍵,我們來(lái)到下面的代碼: 00401431 |. 8D35 9C334000 LEA ESI,DWORD PTR DS:[40339C] 。 |pFileSystemFlags = NULL 0040141F |. 6A 00 PUSH 0 。 把crackme 程序所在分區(qū)的卷標(biāo)名稱送到 ESI 00401437 |. 0FB60D EC334000 MOVZX ECX,BYTE PTR DS:[4033EC] 。 判斷是否計(jì)算完 0040144C |.^ 75 F2 JNZ SHORT 。 如下圖: 系統(tǒng)存儲(chǔ)的原則為 “高高低低 ”,即低字節(jié)存放在地址較低的字節(jié)單元中,高字節(jié)存放在地址較高的字節(jié)單元中。現(xiàn)在我們把磁盤類型值作為 n,卷標(biāo)值 ASCII 碼的逆序數(shù)值作為 a,最后得出的結(jié)果作為 b,有這樣的計(jì)算過(guò)程: 第一次: b = a * n 第二次: b = a * (n 1) + b 第三次: b = a * (n 2) + b … 第 n 次: b = a * 1 + b 可得出公式為 b = a * [n + (n 1) + (n 2) + … + 1] = a * [n * (n + 1) / 2] 還記得上一篇我們的分析嗎?看這一句: 00401405 |. 81F6 53757A79 XOR ESI,797A7553 。 |pFileSystemNameBuffer = NULL 0040141D |. 6A 00 PUSH 0 。 \GetVolumeInformationA 把上面代碼后的 OllyDBG 自動(dòng)添加的注釋與 MSDN 中的函數(shù)原型比較一下: BOOL GetVolumeInformation( LPCTSTR lpRootPathName, // address of root directory of the file system LPTSTR lpVolumeNameBuffer, // address of name of the volume DWORD nVolumeNameSize, // length of lpVolumeNameBuffer LPDWORD lpVolumeSerialNumber, // address of volume serial number LPDWORD lpMaximumComponentLength, // address of system39。 磁盤類型參數(shù)送內(nèi)存地址4033EC 地址 0040140F 處的那條指令是調(diào)用 GetDriveTypeA 函數(shù),一般函數(shù)調(diào)用后的返回值都保存在 EAX 中,所以地址 00401414 處的那一句 MOV BYTE PTR DS:[4033EC],AL 就是傳遞返回值。 再附個(gè)斷點(diǎn)表: 常用斷點(diǎn) (OD 中 ) 攔截窗口: bp CreateWindow 創(chuàng)建窗 口 bp CreateWindowEx(A) 創(chuàng)建窗口 bp ShowWindow 顯示窗口 bp UpdateWindow 更新窗口 bp GetWindowText(A) 獲取窗口文本 攔截消息框: bp MessageBox(A) 創(chuàng)建消息框 bp MessageBoxExA 創(chuàng)建消息框 bp MessageBoxIndirect(A) 創(chuàng)建定制消息框 bp IsDialogMessageW 攔截警告聲: bp MessageBeep 發(fā)出系統(tǒng)警告聲 (如果沒(méi)有聲卡就直接驅(qū)動(dòng)系統(tǒng)喇叭 發(fā)聲 ) 攔截對(duì)話框: bp DialogBox 創(chuàng)建模態(tài)對(duì)話框 bp DialogBoxParam(A) 創(chuàng)建模態(tài)對(duì)話框 bp DialogBoxIndirect 創(chuàng)建模態(tài)對(duì)話框 bp DialogBoxIndirectParam(A) 創(chuàng)建模態(tài)對(duì)話框 bp CreateDialog 創(chuàng)建非模態(tài)對(duì)話框 bp CreateDialogParam(A) 創(chuàng)建非模態(tài)對(duì)話框 bp CreateDialogIndirect 創(chuàng)建非模態(tài)對(duì)話框 bp CreateDialogIndirectParam(A) 創(chuàng)建非模態(tài)對(duì)話框 bp GetDlgItemText(A) 獲取對(duì)話框文本 bp GetDlgItemInt 獲取對(duì)話框整數(shù)值 攔截剪貼板: bp GetClipboardData 獲取剪貼板數(shù)據(jù) 攔截注冊(cè)表: bp RegOpenKey(A) 打開(kāi)子健 bp RegOpenKeyEx 打開(kāi)子健 bp RegQueryValue(A) 查找子健 bp RegQueryValueEx 查找子健 bp RegSetValue(A) 設(shè)置子健 bp RegSetValueEx(A) 設(shè)置子 健 功能限制攔截?cái)帱c(diǎn): bp EnableMenuItem 禁止或允許菜單項(xiàng) bp EnableWindow 禁止或允許窗口 攔截時(shí)間: bp GetLocalTime 獲取本地時(shí)間 bp GetSystemTime 獲取系統(tǒng)時(shí)間 bp GetFileTime 獲取文件時(shí)間 bp GetTickCount 獲得自系統(tǒng)成功啟動(dòng)以來(lái)所經(jīng)歷的毫秒數(shù) bp GetCurrentTime 獲取當(dāng)前時(shí)間( 16 位) bp SetTimer 創(chuàng)建定時(shí)器 bp TimerProc 定時(shí)器超時(shí)回調(diào)函數(shù) GetDlgItemInt 得指定輸入框整數(shù)值 GetDlgItemText 得指定輸入框輸入字符串 GetDlgItemTextA 得指定輸入框輸入字符串 攔截文件: bp CreateFileA 創(chuàng)建或打開(kāi)文件 (32 位 ) bp OpenFile 打開(kāi)文件 (32 位 ) bp ReadFile 讀文件 (32 位 ) bp WriteFile 寫(xiě)文件 (32 位 ) GetModuleFileNameA GetFileSize Setfilepointer fileopen FindFirstFileA ReadFile 攔截驅(qū)動(dòng)器: bp GetDriveTypeA 獲取磁盤驅(qū)動(dòng)器類型 bp GetLogicalDrives 獲取邏輯驅(qū)動(dòng)器符號(hào) bp GetLogicalDriv
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫(kù)吧 www.dybbs8.com
備案圖鄂ICP備17016276號(hào)-1