小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

OD學(xué)習(xí)筆記

 hjd7578 2019-03-28
OD 第二課
1、OD與IDA是兩個(gè)常用工具。OD是動(dòng)態(tài)分析,IDA是靜態(tài)分析。


2、F2下斷點(diǎn),F(xiàn)3加載一個(gè)可執(zhí)行程序。


3、Call *** 按F7可以進(jìn)入該函數(shù)內(nèi)部,Ctrl + F9運(yùn)行至ret出,就可以返回程序了。


4、Alt + B打開(kāi)斷點(diǎn)編輯器,用于取消斷點(diǎn),del或者空格取消斷點(diǎn)。


5、Ctrl + G可以查找函數(shù)名,例如:GetDlgItemTextA 或者 GetDlgItemTextW


6、單步執(zhí)行時(shí),注意下面提示,有時(shí)候會(huì)發(fā)現(xiàn)一些用用的信息的。


7、當(dāng)程序停止下來(lái)時(shí),按下Ctrl + G,輸入esp + 4C,可以查看地址內(nèi)容。


8、Call返回值存放在eax中,返回地址時(shí),eax中存放地址。


9、test eax,eax,查看eax是否為0,為0時(shí),Z=1,雙擊Z,則Z變成0.


10、不想讓je跳轉(zhuǎn)的兩種方法,(1)將Z改成0;(2)將je short 0040122e雙擊,改成nop填充即可。


11、保存修改:選中修改的文件,右擊,復(fù)制到可自行文件,選擇,備份,保存數(shù)據(jù)到文件。如果程序加過(guò)殼,則會(huì)不可執(zhí)行。


12、如果跟進(jìn)到系統(tǒng)dll中,此時(shí)想返回到應(yīng)用程序領(lǐng)空,可以按Alt + F9,返回到用戶(hù)代碼。


13、如004013F7,這類(lèi)地址一般是可自行文件領(lǐng)空,7C8114AB這類(lèi)地址一般是系統(tǒng)Dll所在的地址空間。


14、Ctrl + N,可以打開(kāi)應(yīng)用程序的導(dǎo)入表


OD第三課
1、找call
call *** 等于push eip;然后jmp ***
call幾種方式
——call 404000h,直接跳轉(zhuǎn)到函數(shù)或者過(guò)程的地址。
——call eax,函數(shù)或者過(guò)程的地址存放在eax中。
——call dword ptr[eax]  例如:eax中存放400080h,而400080h中存放404000h,所有實(shí)際是Call 404000h。
——call dword ptr[<&API>];執(zhí)行一個(gè)系統(tǒng)API。


2、WinAPI參考文檔
(1)Win32 Programmers Reference.rar -> win32.hlp
(2)幫助->選擇API幫助文檔
(3)選擇要查看的API,右擊->符號(hào)名幫助


3、Cmp dest,src,比較dest,src并通過(guò)比較結(jié)果設(shè)置 C / 0 / Z 標(biāo)志位。
    cmp eax,-1 //如果eax = FFFFFFFF,
    cmp eax,[404000],將eax和404000地址處的dword型數(shù)據(jù)進(jìn)行比較并置位。
    cmp dword ptr[402173] 比較402173處值是否為16。


4、標(biāo)志位
    cmp可以修改三個(gè)標(biāo)志位,Z / 0 / C
    Z標(biāo)志位:結(jié)果為0,則置1,否則置0;
    0標(biāo)志位:溢出置1,否則置0;
    C標(biāo)志位:進(jìn)位標(biāo)志,最高有效位有進(jìn)位置1,否則置0;


5、test指令
   對(duì)兩個(gè)操作數(shù)進(jìn)行按位與運(yùn)算,但不將與的結(jié)果放到dest中,而and則會(huì)將與的結(jié)果放到dest中,test僅改變標(biāo)志位。
   test僅改變標(biāo)志位,test eax,eax (如果eax值為0,則Z置1)。


6、跳轉(zhuǎn)條件
 ja  CF = 0 and ZF = 0
 jb  CF = 1
 jnz ZF = 0


7、將jnz改成jmp實(shí)現(xiàn)無(wú)條件跳轉(zhuǎn)。將jnz改成nop指令,不讓跳,啥都不干。
    nop填充,選中要填充的指令,右擊->用nop填充。


OD第四課 去除NAG窗口
1、Messagebox,不讓彈出
 push 1,messagebox父句柄執(zhí)行為1,不存在的句柄值,則不彈出。


2、PE結(jié)構(gòu)
按M查看內(nèi)存分布圖,可以通過(guò)修改PE結(jié)構(gòu)來(lái)去除NAG。將模塊的入口地址更改。從00401000——>00401024即可。
AddressofEntrypoint=1000 ——》1024。
3、GetModuleHandleA可以獲得程序ImageBase


OD第五課
1、PE:sizeofcode = 4000400最高位有數(shù)據(jù),懷疑被惡意修改了。
   baseofcode = 40001000,代碼段的起始偏移地址。
   baseofdata = 40002000,數(shù)據(jù)段的起始偏移地址。
2、PE結(jié)構(gòu)被修改后,windows加載器可以自動(dòng)識(shí)別,但是OD不會(huì),所以O(shè)D運(yùn)行不起來(lái)。
3、advancedolly.dll 放到OD->plugin目錄下,即可載入進(jìn)來(lái)經(jīng)修改的PE了。需要設(shè)置插件的Ignore faked export table與Hande Base of Code,sizeof code and base of data。




OD第六課
1、忽略異常
(1)shift + F9,用來(lái)忽悠異常,多按幾次。
(2)選項(xiàng)->調(diào)試選項(xiàng)->異常->添加范圍 00000000->FFFFFFFF,整個(gè)內(nèi)存段的全部異常都忽略。
2、Alt + F9 返回到用戶(hù)地址空間。
3、點(diǎn)擊M ,Ctrl + B ,在整個(gè)內(nèi)存中查找字符串。UNREGISTERED VERSION
4、找到字符串后,選中,右擊選擇 二進(jìn)制編輯 ,注意保持大小寫(xiě),返回到C,選擇修改后的內(nèi)容,保存下來(lái)即可。
5、選擇某個(gè)地址,右擊,查看參考,可以查看到哪里引用了它。


OD第七課
1、OD軟件斷點(diǎn)與硬件斷點(diǎn)。
 軟件斷點(diǎn)的原理:在斷點(diǎn)處重寫(xiě)代碼,插入一個(gè)int 3中斷指令,當(dāng)CPU執(zhí)行到int 3時(shí),OD就可以獲得控制權(quán)了。
 硬件斷點(diǎn):調(diào)試寄存器Dr0——Dr7,其中Dr0——Dr3四個(gè)寄存器用來(lái)存放中斷地址,Dr4——Dr5保留不使用,Dr6——Dr7用來(lái)記錄Dr0——Dr3的屬性。
硬件斷點(diǎn)只有四個(gè)。
何時(shí)使用:
(1)軟件斷點(diǎn)只能在OD的CPU界面下,在數(shù)據(jù)段下不了。
(2)當(dāng)想將斷點(diǎn)下載Windows的動(dòng)態(tài)鏈接庫(kù)上時(shí),需要用硬件斷點(diǎn),因?yàn)橛密浖帱c(diǎn)下在dll界面是不會(huì)保存的,重啟后將丟失斷點(diǎn)。


2、跳出循環(huán)的方法:在循環(huán)下一條語(yǔ)句下一個(gè)斷點(diǎn),F(xiàn)9走到斷點(diǎn)處
3、下硬件斷點(diǎn):選中->右擊->硬件執(zhí)行。硬件斷點(diǎn)使用完需要立即清除,因?yàn)橘Y源有限。
4、去除Nag,只需要Call *** 改為 Move eax,1,這樣此函數(shù)始終返回1, 程序即可執(zhí)行了。
5、K查看哪些函數(shù)被調(diào)用過(guò)了。
6、要關(guān)注跳轉(zhuǎn)的地方,比較正常與異常時(shí),跳轉(zhuǎn)的區(qū)別,這樣可以改變程序的執(zhí)行路徑,實(shí)現(xiàn)破解。


OD第八課 去除Nag —— 第十七課
1、查找標(biāo)題中的字符串
右擊->查找->所有參考文本串,再在其中找標(biāo)題中對(duì)應(yīng)的字符串即可。


2、通過(guò)閱讀jmp前幾行代碼規(guī)律,分析破解方法
 
OD第十課 VB程序破解
1、利用PEiD.exe可以查看可執(zhí)行文件用什么編譯工具編譯的,加了什么殼,需要使用英文版的PEid
2、所有的VB程序都依賴(lài)一個(gè)外部的動(dòng)態(tài)鏈接庫(kù),MSVBVM60.dll
3、VB破解關(guān)鍵
針對(duì)變量        針對(duì)字符串
_vbaVarTstEq   _vbaStrCmp
_vbaVarTstNe   _vbaStrComp
4、Ctrl + N 調(diào)出輸出表,查找調(diào)用的函數(shù),在用斷點(diǎn)進(jìn)行調(diào)試。


OD第十二課 介紹Delphi
OD第十三棵
1、DialogBoxs類(lèi)型常用APIs,用這些API進(jìn)行搜索。
2、查找->所有模塊間的調(diào)用,可以在每個(gè)調(diào)用GetWindowTextA上設(shè)置斷點(diǎn)。
3、Ctrl + N,輸入GetWindowTextA,在每個(gè)參考上設(shè)置斷點(diǎn)。


OD第十五課
1、內(nèi)嵌補(bǔ)丁,把補(bǔ)丁代碼寫(xiě)入文件,達(dá)到破解的目的。解決因指令長(zhǎng)度不匹配導(dǎo)致堆棧破壞的問(wèn)題。
2、通過(guò)書(shū)簽方式,可以方便跳轉(zhuǎn)。
OD第十七課
介紹硬件訪(fǎng)問(wèn)斷點(diǎn)的使用。


    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀(guān)點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多