Ollydbg使用教程学习总结(一)
解密系列之OD使用教程1
使用例子程序?yàn)镠ello.exe
OD基本快捷鍵及功能
從系統(tǒng)DLL領(lǐng)空返回到程序領(lǐng)空,Alt+F9
通過OD將程序的標(biāo)題“Hello world”改為“OD Class 01”
直接單步執(zhí)行法
按F8單步執(zhí)行,找到MessageBox傳參的地方,直接在數(shù)據(jù)窗口修改即可。如下圖:
解密系列之OD使用教程2
使用例子程序?yàn)門raceMe.exe
獲取編輯框輸入內(nèi)容的API斷點(diǎn)法
1、在反匯編窗口中按下Ctrl+G,輸入GetDlgItemTextA,發(fā)現(xiàn)存在這個(gè)API函數(shù),點(diǎn)擊OK,并按F2下斷點(diǎn);
2、按F9運(yùn)行程序,輸入用戶名和序列號(hào),點(diǎn)check,程序斷下;
3、單步執(zhí)行程序,共斷下兩次,依次用Ctrl+F9執(zhí)行到返回,繼續(xù)向下執(zhí)行,則可看到
004011D7 . 8D5424 4C lea edx,dword ptr ss:[esp+0x4C] 004011DB . 53 push ebx 004011DC . 8D8424 A00000>lea eax,dword ptr ss:[esp+0xA0] 004011E3 . 52 push edx 004011E4 . 50 push eax 004011E5 . E8 56010000 call TraceMe.00401340 ; 驗(yàn)證程序 004011EA . 8B3D BC404000 mov edi,dword ptr ds:[<&USER32.GetDlgIte>; user32.GetDlgItem 004011F0 . 83C4 0C add esp,0xC 004011F3 . 85C0 test eax,eax 004011F5 . /74 37 je short TraceMe.0040122E00401340這個(gè)call就是驗(yàn)證程序
爆破方法:
①將測(cè)試其返回值后的跳轉(zhuǎn)Nop掉;
②將test eax,eax改為mov al,1
右鍵=>復(fù)制到可執(zhí)行文件=>選擇;右鍵=>備份=>保存數(shù)據(jù)到文件,命名為TraceMe1.exe,運(yùn)行之,輸入用戶名和密碼,點(diǎn)check,提示成功。
此外,另一個(gè)讀取編輯框函數(shù):GetWindowText;還可通過Ctrl+N打開應(yīng)用程序的導(dǎo)入表,查看程序總共導(dǎo)入了哪些API函數(shù)。
解密系列之OD使用教程3
程序:reverseMe.exe
- EAX:擴(kuò)展累加寄存器
- EBX:擴(kuò)展基址寄存器
- ECX:擴(kuò)展計(jì)數(shù)寄存器
- EDX:擴(kuò)展數(shù)據(jù)寄存器
- ESI:擴(kuò)展來源寄存器
- EDI:擴(kuò)展目標(biāo)寄存器
- EBP:擴(kuò)展基址指針寄存器
- ESP:擴(kuò)展堆棧指針寄存器
- EIP:擴(kuò)展的指令指針寄存器
除了以下三個(gè)寄存器,其他我們都可以隨意使用:
- EBP:主要是用于棧和棧幀;
- ESP:指向當(dāng)前進(jìn)程的棧空間地址。
- EIP:總是指向下一條要被執(zhí)行的指令。
call XXX;等價(jià)于 push eip; + jmp XXX;
真正需要關(guān)心的標(biāo)志位只有三個(gè),也就是cmp指令能修改的那三個(gè):Z/O/C。
- Z標(biāo)志位(0標(biāo)志),這個(gè)標(biāo)志位是最常用的,運(yùn)算結(jié)果為0時(shí)候,Z標(biāo)志位置1,否則置0。
- O標(biāo)志位(溢出標(biāo)志),在運(yùn)行過程中,如操作數(shù)超出了機(jī)器能表示的范圍則稱為溢出,此時(shí)OF位置1,否則置0。
- C標(biāo)志位(進(jìn)位標(biāo)志),記錄運(yùn)算時(shí)從最高有效位產(chǎn)生的進(jìn)位值。
①方法一:找到每次陷阱跳轉(zhuǎn),并jmp跳過或者nop掉即可
②方法二:找到驗(yàn)證算法,需要一個(gè)名為Keyfile.dat的驗(yàn)證文件,其內(nèi)容包含16個(gè)G即可。
總結(jié)
以上是生活随笔為你收集整理的Ollydbg使用教程学习总结(一)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 复信号两种不同加噪方式的比较
- 下一篇: Ollydbg使用教程学习总结(二)