使用ollydbg從零開始cracking第二十一章-反調(diào)試之檢測od進(jìn)程,窗口類名_第1頁
使用ollydbg從零開始cracking第二十一章-反調(diào)試之檢測od進(jìn)程,窗口類名_第2頁
使用ollydbg從零開始cracking第二十一章-反調(diào)試之檢測od進(jìn)程,窗口類名_第3頁
使用ollydbg從零開始cracking第二十一章-反調(diào)試之檢測od進(jìn)程,窗口類名_第4頁
使用ollydbg從零開始cracking第二十一章-反調(diào)試之檢測od進(jìn)程,窗口類名_第5頁
已閱讀5頁,還剩13頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

第二十一章-OllyDbgOD進(jìn)程名,窗口類名,本章我們繼續(xù)討論反調(diào)試,將我修改過的一個CrackMe該CrackMe的名字叫做buggers,OllyDbgAPI函數(shù),同時該CrackMe也涵蓋OllyDbg窗口標(biāo)題名以及窗口類名等知識點。我們打開原始的OllyDbg程序,不使用重命名的,因為本章對上一章的檢測OD的方法進(jìn)行延伸,因此讓OD的文件名OD加載該CrackMe,HideDebugger123IsDebuggerPersentHideDebugger插件的配置如下IsDebuggerPresentODOllyDbg.exe,然后打開任務(wù)管理器,的進(jìn)程名為好了,我們回到buggers3,API我的天啦!API列表中居然只是唯一的一個函數(shù)ExitProcess,其他API函數(shù)應(yīng)該都是通過GetProcAddress加載的但是我們試試在命令欄中輸入bpGetProcAddress,斷在了GetProcAddress函數(shù)的處,程序調(diào)用GetProcAddress加載一些API函數(shù),如果我們對哪些API函數(shù)感,我們可以執(zhí)行到返回,就知道了該函數(shù)的地址了,然后使用bpEAX斷這個函數(shù),因為EAX中保存了GetProcAddress獲取到的函數(shù)地址。這個函數(shù)我們不感,我直接按F9鍵運行起來運行幾次后,API函數(shù)CreateToolhelp32Snapshot,你可能會問,你是怎么知道的,因為我知道這種檢測方法,所以我介紹它,APIOD。好了,Debug-Executetillreturn現(xiàn)在我們到了RET指令處,并且EAX保存了CreateToolhelp32SnapShot的函數(shù)地址,我們使用BPEAXAPI我們繼續(xù)運行,API恩,OpenProcess這個函數(shù)也是一個可疑函數(shù),其可以獲取進(jìn)程的句柄(我們上一章節(jié)已經(jīng)討論過了),我們執(zhí)行到返回,接著使用BPEAX給該函數(shù)設(shè)置斷點。嘿嘿,Process32First又一個可疑的API函數(shù),我們同樣執(zhí)行到返回,然后BPEAX給該函數(shù)設(shè)置斷點,Process32Next接下來是TerminateProcessOllyDbgOD進(jìn)程才會執(zhí)行該函數(shù),所以不必給該函數(shù)設(shè)置斷點,但是為了安全起我們繼續(xù)F9鍵運行就斷在了CreateToolhelp32SnapShot的處。堆棧情況如下MSDN該函數(shù)是該當(dāng)前機器上面運行的所以進(jìn)程列表創(chuàng)建一個快照,但是返回給我們的僅僅是該快照的句柄,并且沒有什么用于保存進(jìn)程列表的緩沖區(qū)之類的參數(shù)我們直接執(zhí)行到返回。EAX我們單擊上面H按鈕打開句柄列表窗口2C這個句柄值,不過還好,我們成功了創(chuàng)建了進(jìn)程快照并獲取到了進(jìn)程快照的句柄,我們運行起來,看斷在了Process32First這個API函數(shù)的處,該函數(shù)配合Process32Next這個API函數(shù)可以進(jìn)程快照中所有正在運行的進(jìn)程好了,MSDN這個函數(shù)僅僅是用來獲取第一個進(jìn)程的信息的,Process32Next我們在數(shù)據(jù)窗口中轉(zhuǎn)到PROCESSENTRY32結(jié)構(gòu)體的首地址處,我們可以看到第一個進(jìn)程的名稱,SystemProcess,嘿嘿,這里調(diào)用了FindWindowA,OllyDbg的窗口標(biāo)題名和窗口類名是同名的,所以FindWindowA我們可以使用一個實用的小工具WinDowse來獲取窗口類名(VC自帶的SPY++也可以

^*)OllyDbgWinDowse這款工具獲取的信息更加詳細(xì)一些,我們安裝這我們可以看到Window頁中顯示了OllyDbg的窗口標(biāo)題名并且Class頁中顯示其窗口類名我們可以看到FindWindowA返回的是指定窗口的句柄,通過該窗口句柄,大家沒有必要同時設(shè)置窗口類名和窗口標(biāo)題名,你只需要任選擇其一,NULL好了,現(xiàn)在我們執(zhí)行到返回,OD恩,正如我們所看到的,返回的窗口句柄值跟WinDowse上面顯示的窗口句柄值一致。好吧,我們繼續(xù)跟,OD的窗口句柄會干些什么。這里判斷獲取到的窗口句柄是否為空,如果窗口句柄為空,說明不存在OllyDbg窗口,如果返回的窗口句柄非空,ExitProcess所以,我們需要FindWindowAEAX好了,我們現(xiàn)在知道如何手工繞過該反調(diào)試了,HideDebugger1.23版插件來繞過該反調(diào)試吧,我們來看看該插件的配我們可以看到第二個選項,FindWindowEnumWindowsOD窗口方法,首先我們還是要知道如何手工繞過該反調(diào)試以及其原理是什么。好了,我們現(xiàn)在不設(shè)置該選項,OD,ExitProcess代碼塊并且繼續(xù)執(zhí)行。我們雙擊零標(biāo)志位Z1,JNZJNZJMP指令跳過ExitProcess好了,我們繼續(xù),介紹如何繞過FindWindowA了,OD進(jìn)程名的方法,斷了下來,現(xiàn)在調(diào)用的是Process32Next,獲取進(jìn)程快照中第二個進(jìn)程的相關(guān)信息,403134指向緩沖現(xiàn)在獲取到的是System進(jìn)程,PID4,lstrcmpAAPI函數(shù),它將“System”與“buggers3.exe”兩個字符串進(jìn)行比較,該CrackMe名稱,如果它們相等,MessageBoxA彈出notdebugged!沒有被調(diào)試的信息。這里,兩者并不相等,所以我們繼續(xù)上面兩個字符串不相等,所以比較結(jié)果為FFFFFFFF由于結(jié)果不為零,40119F這里,到了比較關(guān)鍵的地方了,OLLYDBG.EXE,如果是,JNZ條件跳轉(zhuǎn)將不會實現(xiàn),將會OpenProcessOD進(jìn)程的句柄,TerminateProcessOD進(jìn)程。跟上一章我們遇到的情況差不多。smss.exe進(jìn)程的PID,620,26C。恩,接下來該CrackMeOLLYDBG.EXE。的代碼,因此,我們需要將該JNZ指令修改為JMP指令,讓關(guān)閉OD的代碼得不到執(zhí)行好了,HideDebuggerFindWindowAOD窗口的檢測,并且我們也可以將OLLYDBG.EXE重命名為PIRULO.EXEOLLYDBG這個進(jìn)程名。我們打開PIRULO.EXE我們勾選上繞過FindWindow的選項,我們加載buggers3之前,先來解決一個小問題,WinDowse,WinDowseODOLLYDBG并沒有出現(xiàn)在標(biāo)題欄中,那OD的窗口類名呢repair0.6,OLLYDBG的

溫馨提示

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

評論

0/150

提交評論