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

正文內(nèi)容

ollydbg圖文入門教程資料-免費(fèi)閱讀

2024-12-05 05:21 上一頁面

下一頁面
  

【正文】 而如果你的卷標(biāo)和我一樣,且磁盤類型一樣的話,注冊碼也會一樣,并不能真正做到一機(jī)一碼。 我在前面的 00401414 地址處的那條 MOV BYTE PTR DS:[4033EC],AL 指令后加的注釋是 “磁盤類型參數(shù)送內(nèi)存地址 4033EC”。 |MaxVolumeNameSize = B (11.) 00401425 |. 68 9C334000 PUSH 。 到此已經(jīng)差不多了,最后還有幾個東西也說一下吧: 上面用到了兩個 API 函數(shù),一個是 GetDriveTypeA,還有一個是 GetVolumeInformationA,關(guān)于這兩個函數(shù)的具體用法我就不多說了,大家可以查一下 MSDN。而取地址為 40339C 的雙字單元中的內(nèi)容時,我們應(yīng)該得到的是 “454D4147”,即由高字節(jié)到低字節(jié)順序的值。但我們發(fā)現(xiàn)一個問題:假如原來我們在數(shù)據(jù)窗口中看到的地址 40339C 處的 16 進(jìn)制代碼是 “47414D45”,即 “GAME”,但經(jīng)過地址 00401442 處的那條 MOV EBX,DWORD PTR DS:[ESI] 指令后,我們卻發(fā)現(xiàn) EBX 中的值是“454D4147”,正好把我們上面那個 “47414D45”反過來了。 把卷標(biāo)名作為數(shù)值送到 EBX 00401444 |. F7E3 MUL EBX 。 |VolumeNameBuffer = 0040142A |. 6A 00 PUSH 0 。 \GetDriveTypeA 00401414 |. A2 EC334000 MOV BYTE PTR DS:[4033EC],AL 。沒關(guān)系,這里不是關(guān)鍵。這里我就 選從 40339C 地址處開始的四個字節(jié),主要是為了讓大家提前了解一下硬件斷點(diǎn)的設(shè)法,因?yàn)橛布帱c(diǎn)最多只能選 4 個字節(jié)。內(nèi)存訪問斷點(diǎn)就是指程序訪問內(nèi)存中我們指定的內(nèi)存地址時中斷,內(nèi)存寫入斷點(diǎn)就是指程序往我們指定的內(nèi)存地址中寫東西時中斷。 不等則完蛋 我們重新用 OllyDBG 載入目標(biāo)程序, F9運(yùn)行來到上面代碼所在的地方(你上次設(shè)的斷點(diǎn)應(yīng)該沒刪吧?),我們向上看看能不能找到那個 ESI 寄存器中最近是在哪里賦的值。 OllyDBG 入門系列(四)-內(nèi)存斷點(diǎn) 作者: CCDebuger 還記得上一篇《 OllyDBG 入門系列(三)-函數(shù)參考》中的內(nèi)容嗎?在那篇文章中我們分析后發(fā)現(xiàn)一個 ESI 寄存器值不知是從什么地方產(chǎn)生的,要弄清這個問題必須要找到生成這個 ESI 值的計算部分。關(guān)掉上面的窗口,再對信息窗口中的 EAX=FF439EBE 做同樣操作: 由上圖我們知道了原來前面分析的對我們輸入的注冊碼進(jìn)行處理后的結(jié)果就是把字符格式轉(zhuǎn)為數(shù)字格式。 ESI出棧。 把前面運(yùn)算后保存在 ECX中的結(jié)果乘 5 再送到 ECX 004013F5 |. 8D0C48 LEA ECX,DWORD PTR DS:[EAX+ECX*2] 。 把注冊碼中的每個字符送到 AL 004013E1 |. 46 INC ESI 。 比較 0040132F |. 75 42 JNZ SHORT 。] 。re done.”現(xiàn)在我按一下 F8,準(zhǔn)備步進(jìn)到 00401328 地址處的那條 CALL 指令后再按 F7 鍵跟進(jìn)去。s Crack Head 00401366 |. 68 33134000 PUSH 。 。又跑題了,呵呵?,F(xiàn)在我們沒有什么字串好參考了,我們就在 API 函數(shù)上下斷點(diǎn),來讓被調(diào)試程序中斷在我們希望的地方。輸入我們經(jīng)分析得出的內(nèi)容: 用戶名: Registered User 注冊碼: GFX754IER954 點(diǎn)擊 “Register now !” 按鈕,呵呵,終于成功了: OllyDBG 入門系列(三)-函數(shù)參考 作者: CCDebuger 現(xiàn)在進(jìn)入第三篇,這一篇我們重點(diǎn)講解怎樣使用 OllyDBG 中的函數(shù)參考(即名稱參考)功能。 關(guān)鍵,要用 F7跟進(jìn)去 00440F56 |. 75 1A JNZ SHORT 。 把 “Registered User”送到 EBX 00403B59 |. 39D9 CMP ECX,EBX 。 用戶名長度送 EAX 00403B46 |. 8B57 FC MOV EDX,DWORD PTR DS:[EDI4] 。 關(guān)鍵,要用 F7 跟進(jìn)去 00440F39 |. 75 51 JNZ SHORT 。我 在上面那個編輯框中隨便輸入一下,如 CCDebuger,下面那個編輯框我還保留為原來的 “754GFXIER954”,我們點(diǎn)一下那個 “Register now !”按鈕,呵, OllyDBG 跳了出來,暫停在我們下的斷點(diǎn)處。 ASCII CrackMe cracked successfully 00440F5F |. BA 5C104400 MOV EDX, 。 ASCII Beggar off! 00440F93 |. BA 8C104400 MOV EDX, 。這樣的查殼工具有 PEiD 和 FI。剛開始學(xué)破解先不涉及殼的問題,我們主要是熟悉用 OllyDBG 來破解的一般方法。(相當(dāng)于 SoftICE 中的 F12) ALT+F9:執(zhí)行到用戶代碼。(相當(dāng)于 SoftICE 中的 F10) F7:單步步入。 到這里基本配置就完成了, OllyDBG 把所有配置都放在安裝目錄下的 文件中。建議在對 OllyDBG 已比較熟的情況下再來進(jìn)行配置。上圖中其它的選項(xiàng)可以保留為默認(rèn),若有需要也可以自己修改。同樣點(diǎn)擊標(biāo)簽 寄存器 (FPU) 可以切換顯示寄存器的方式。簡單解釋一下各個窗口的功能,更詳細(xì)的內(nèi)容可以參考 TT 小組翻譯的中文幫助: 反匯編窗口:顯示被調(diào)試程序的反匯編代碼,標(biāo)題欄上的地址、 HEX 數(shù)據(jù)、反匯編、注釋可以通過在窗口中右擊出現(xiàn)的菜單 界面選項(xiàng) 隱藏標(biāo)題 或 顯示標(biāo)題 來進(jìn)行切換是否顯示。 要調(diào)整上面各個窗口的大小的話,只需左鍵按住邊框拖動,等調(diào)整好了,重新啟動一下 OllyDBG 就可以生效了。比如你調(diào)試一個軟件,設(shè)置了斷點(diǎn),添加了注釋,一次沒做完,這時 OllyDBG 就會把你所做的工作保存到這個 UDD 目錄,以便你下次調(diào)試時可以繼續(xù)以前的工作。 OllyDBG 支持插件功能,插件的安裝也很簡單,只要把下載的插件(一般是個 DLL 文件)復(fù)制到 OllyDBG 安裝目錄下的 PLUGIN 目錄中就可以了, OllyDBG 啟動時會自動識別。比如我們選擇一個 來調(diào)試,通過菜單 文件 打開 來載入這個程序,OllyDBG 中顯示的內(nèi)容將會是這樣: 圖片 1 調(diào)試中我們經(jīng)常要用到的快捷鍵有這些: F2:設(shè)置斷點(diǎn),只要在光標(biāo)定位的位置(上圖中灰色條)按 F2 鍵即可,再按一次 F2鍵則會刪除斷點(diǎn)。按下這個鍵如果沒有設(shè)置相應(yīng)斷點(diǎn)的話,被調(diào)試的程序?qū)⒅苯娱_始運(yùn)行。 OllyDBG 入門系列(二)-字串參考 作者: CCDebuger 上一篇是使用入門,現(xiàn)在我們開始正式進(jìn)入破解。如果這些都不是,原程序只是一個功能不全的試用版,那要注冊為正式版本就要自己來寫代碼完善了。但我們的目標(biāo)是熟悉 OllyDBG 的一些操作,我就盡量使用 OllyDBG 自帶的功能,少用插件。 ASCII GFX754IER954 00440F51 |. E8 D62BFCFF CALL 。 ASCII Wrong Serial,try again! 00440F98 |. A1 442C4400 MOV EAX,DWORD PTR DS:[442C44] 00440F9D |. 8B00 MOV EAX,DWORD PTR DS:[EAX] 00440F9F |. E8 C4C0FFFF CALL 大家注意看一下上面的注釋,我在上面標(biāo)了兩個關(guān)鍵點(diǎn)。如下圖所示: 現(xiàn)在我們來按 F8 鍵一步步分析一下: 00440F2C |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP4] 。 相同則跳 00403B3B |. 85F6 TEST ESI,ESI 。 用戶名長度值右移 2 位,這里相當(dāng)于長度除以 4 00403B53 |. 74 26 JE SHORT 。我們一路按 F8 鍵,來到第二個關(guān)鍵代碼處: 00440F49 |. 8B45 FC MOV EAX,DWORD PTR SS:[EBP4] ?,F(xiàn)在我們在菜單 查看 斷點(diǎn) 上點(diǎn)擊一下,打開斷點(diǎn)窗口(也可以通過組合鍵 ALT+B 或點(diǎn)擊工具欄上那個 “B” 圖標(biāo)打開斷點(diǎn)窗口): 為什么要做這一步,而不是把這個斷點(diǎn)刪除呢?這里主要是為了保險一點(diǎn),萬一分析錯誤,我們還要接著分析,要是把斷點(diǎn)刪除了就要做一些重復(fù)工作了。用 PEiD 檢測一下,結(jié)果為 MASM32 / TASM32,怪不得程序比較小。對于編譯為 UNCODE 版的程序可能在 Win98 下不能運(yùn)行,因?yàn)? Win98 并非是完全支持 UNICODE 的系統(tǒng)。這個程序只需在第一條指令設(shè)斷點(diǎn)就可以了。re done.,0 0040135F | 6A 00 PUSH 0 。 MessageBoxA 從上面的代碼,我們很容易看出 00401328 地址處的 CALL 是關(guān)鍵,必須仔細(xì)跟蹤。 00401480 $ FF25 1C204000 JMP DWORD PTR DS:[amp。刪掉 00401474 地址處的斷點(diǎn)后,我再按 F8 鍵,呵,完了,跑到 的領(lǐng)空了。 把注冊碼框中的數(shù)值送到 ESI 004013DB |. 33C9 XOR ECX,ECX 。 取 “”號后的第一個字符 004013ED |. 46 INC ESI 。 把 EDX中的值與經(jīng)過上面運(yùn)算后的 ECX 中值相加送到 EAX 00401402 |. 33C2 XOR EAX,EDX 。 不等則完蛋 光標(biāo)停在了 0040132D 地址處的那條指令上。還記得我在前面說到的那個 ESI 寄存器值的問題嗎?現(xiàn)在看看我們上面的分析,其實(shí)對做注冊機(jī)來說是沒有多少幫助的。 GetWindowTextA 00401328 |. E8 A5000000 CALL 。這里我們選 “ 是 ” ,程序被重新載入,我們停在下面這一句上: 00401000 /$ 6A 00 PUSH 0 。如下圖: 現(xiàn)在將會出現(xiàn)這樣一個對話框: 我們在上面那個編輯框中輸入我們想查看內(nèi)容的內(nèi)存地址 40339C,然后點(diǎn)確定按鈕,數(shù)據(jù)窗口中顯示如下: 我們可以看到, 40339C 地址開始處的這段內(nèi)存里面還沒有內(nèi)容?,F(xiàn)在按 F9 鍵讓程序運(yùn)行,呵, OllyDBG 中斷了! 7C932F39 8808 MOV BYTE PTR DS:[EAX],CL 。 ALT+F9 返回后來到的位置 00401437 |. 0FB60D EC334000 MOVZX ECX,BYTE PTR DS:[4033EC] 0040143E |. 33FF XOR EDI,EDI 我們把反匯編窗口往上翻翻,呵,原來就在我們上一篇分析的代碼下面??? 現(xiàn)在我們在 0040140C 地址處那條指令上按 F2 設(shè)置一個斷點(diǎn),現(xiàn)在我們按 CTR+F2 組合鍵重新載
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1