小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear
?
小甲魚(yú)?OD?使用教程:https://www.bilibili.com/video/av6889190?p=22
exeScope?下載:https://pan.baidu.com/s/1dSWapltdQsX9ttl_lSoq_g????提取碼:yz2p
URlegal?下載:https://pan.baidu.com/s/1Ljbvsnk_1Ps0e-cp7a1F9A????提取碼:kfbp?
?
?
模態(tài)對(duì)話框?和?非模態(tài)對(duì)話框
?
?
打開(kāi)程序,熟悉程序流程:
當(dāng)點(diǎn)擊?I will Register Soon?這個(gè)按鈕時(shí),才能關(guān)閉程序。。。
?
使用?exeScope?打開(kāi)程序:
通過(guò)標(biāo)題可以知道那個(gè)對(duì)話框的?實(shí)例?id?是 103,十六進(jìn)制是 0x67,創(chuàng)建模態(tài)對(duì)話框是?由
int DialogBoxParam( HINSTANCE hInstance, LPCTSTR lpTemplateName, HWND hWndParent, DLGPROC lpDialogFunc, PARAM dwInitParam );?這個(gè)函數(shù)創(chuàng)建的,注意?HINSTANCE hInstance?這個(gè)參數(shù)就是?對(duì)應(yīng)?十進(jìn)制的 103 ,即?十六機(jī)制的 0x67,因?yàn)樵趨R編中入棧參數(shù)是從?右向左入棧的,所以?入?hInstance??這個(gè)參數(shù)對(duì)應(yīng)的匯編指令為?push 0x67,使用?OD?打開(kāi)程序,直接搜索?push 0x67?這個(gè)指令:
分析上一級(jí)的函數(shù):通過(guò)堆棧查看分析,因?yàn)楹瘮?shù)在調(diào)用時(shí),會(huì)先把當(dāng)前函數(shù)的地址入棧,然后轉(zhuǎn)到被調(diào)用者的函數(shù),當(dāng)被調(diào)用者的函數(shù)執(zhí)行完后,會(huì)把調(diào)用者的函數(shù)出棧。
跳轉(zhuǎn)到對(duì)嗎對(duì)應(yīng)位置:
修改指令,發(fā)現(xiàn)覆蓋后面指令:
正確修改方法:
然后保存所有修改,運(yùn)行修改后的程序,發(fā)現(xiàn)已經(jīng)沒(méi)有?關(guān)閉程序后的?neg?窗口了。
?
?
模態(tài)對(duì)話框 2
?
小甲魚(yú) OD 教程:https://www.bilibili.com/video/av6889190?p=23
resource hacker(功能和exeScope一樣)下載地址 :
https://pan.baidu.com/s/1cxGeQZ_qk7fhQTvFzrbHlw ? ?提取碼:zbcs?
程序下載地址:https://pan.baidu.com/s/1RPsjC35XJ6gjGQzrnxH69A ? ?提取碼:0o98?
?
按上面方法搜搜指令,發(fā)現(xiàn)查找多個(gè),在每個(gè)指令上都設(shè)置斷點(diǎn),然偶后一個(gè)一個(gè)進(jìn)行排除:
運(yùn)行程序,程序在斷點(diǎn)處停下來(lái):
查找真正需要的斷點(diǎn):
進(jìn)入斷點(diǎn)處的函數(shù):
進(jìn)入函數(shù)后,按?F8?單步調(diào)試進(jìn)行分析:
保存修改,然后運(yùn)行程序,發(fā)現(xiàn)程序已經(jīng)爆破成功。。。
?
?
總結(jié)
以上是生活随笔為你收集整理的小甲鱼 OllyDbg 教程系列 (十四) : 模态对话框 和 非模态对话框 之 URlegal 和 movgear的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java消息服务~@JmsListene
- 下一篇: apt-get、apt、yum、dpkg