Ollydbg使用教程学习总结(五)
解密系列之OD使用教程17——inline patch
程序:ReverseMe. NAGs.exe
新內(nèi)容:硬件斷點(diǎn)
用PEID打開,看到程序是用VC6.0寫的,用OD載入,按F9運(yùn)行后,出現(xiàn)NAG窗口,在OD中按下暫停,再打開堆棧窗口
如上圖高亮行正是調(diào)用NAG窗口的call,雙擊來到反匯編窗口并下斷
重新運(yùn)行程序,發(fā)現(xiàn)程序的3個(gè)窗口都是對(duì)話框,且都來自這個(gè)call,因此不能直接將該指令NOP掉。繼續(xù)往上瀏覽,發(fā)現(xiàn)有je跳轉(zhuǎn)語句,只要讓第1次和第3次跳轉(zhuǎn)實(shí)現(xiàn),第2次跳轉(zhuǎn)不實(shí)現(xiàn)即可。
在數(shù)據(jù)段00445E80的位置定義個(gè)變量作為計(jì)數(shù)器,在這個(gè)字節(jié)下硬件寫入斷點(diǎn)進(jìn)行測(cè)試,看程序在運(yùn)行過程中有沒有改動(dòng)該地址處的內(nèi)容,發(fā)現(xiàn)程序并不會(huì)修改,可行。在該跳轉(zhuǎn)指令下斷,在00437D70地址處添加個(gè)書簽,方便來回查看。但此處直接用NonaWrite 1.2插件進(jìn)行修改,打開插件,輸入
然后點(diǎn)擊“匯編”按鈕即可修改完成。
再講該條指令修改如下
進(jìn)行保存到文件即可。
解密系列之OD使用教程18
程序:Urlegal.exe
新工具:FishcOD、eXeScope.exe(可進(jìn)行資源的修改)
首先安裝程序,再用eXeScope載入程序
得到退出時(shí)彈出的NAG窗口的模板名是103(0x07),由以下2個(gè)函數(shù)可知
在OD里查找push 0x67
往上查看,這個(gè)過程并不是破解的關(guān)鍵,因?yàn)闆]有關(guān)鍵跳轉(zhuǎn),因此回溯到調(diào)用該過程的位置,由提示窗口
轉(zhuǎn)到調(diào)用處,查看
如上圖注釋所示,在關(guān)鍵call下斷并重新運(yùn)行程序,跟進(jìn)發(fā)現(xiàn)該過程非常短,猜測(cè)可能是程序驗(yàn)證是否注冊(cè)的過程,在開始處下斷,重新運(yùn)行程序;如果是的話,程序運(yùn)行開始就會(huì)執(zhí)行該過程以檢測(cè)是否注冊(cè)。
如猜測(cè),程序運(yùn)行后在此斷下,現(xiàn)在只需要將eax的值修改為1即可,但僅修改
00403E22 |. 8B40 2C mov eax,dword ptr ds:[eax+0x2C]這條指令的話,將覆蓋掉后面的一條指令,因此可以直接同時(shí)修改2條指令
00403E1F |. 8B45 FC mov eax,[local.1] 00403E22 |. 8B40 2C mov eax,dword ptr ds:[eax+0x2C]修改后保存到可執(zhí)行文件,運(yùn)行測(cè)試,發(fā)現(xiàn)注冊(cè)按鈕已經(jīng)變成灰色,點(diǎn)擊關(guān)閉按鈕也不會(huì)彈出NAG窗口。
解密系列之OD使用教程19
程序:movgear.exe
運(yùn)行程序,點(diǎn)關(guān)閉按鈕后,彈出NAG窗口,出現(xiàn)試用還剩30天等信息。同上一節(jié)課所講,用eXeScope載入程序,找到該NAG窗口的模板名為100(0x64),用OD載入,查找push 0x64指令。
在每個(gè)命令下斷,如上,運(yùn)行程序并關(guān)閉后斷下的地方才是我們關(guān)注的地方,地址為00406725,刪掉其他斷點(diǎn);往上瀏覽程序,發(fā)現(xiàn)有關(guān)鍵跳轉(zhuǎn)和call。
在該call和跳轉(zhuǎn)處下斷,重新運(yùn)行程序并關(guān)閉,斷下,跟進(jìn)
RegOpenKeyEx:打開注冊(cè)表的鍵值。
edx為倒數(shù)第2個(gè)參數(shù),指向數(shù)據(jù)緩沖區(qū)。繼續(xù)往下瀏覽程序,發(fā)現(xiàn)在獲取了注冊(cè)表信息后,可能將用戶名和密碼壓棧,然后調(diào)用關(guān)鍵call進(jìn)行檢測(cè)
最后,如果驗(yàn)證失敗的話,會(huì)跳到過程的結(jié)尾
觀察程序,eax的值最終來源于ebx,因此可將該指令
mov eax,ebx修改為mov eax,1
但是經(jīng)測(cè)試,這樣修改會(huì)覆蓋后面的指令,因此可修改為
mov al, 1即可爆破。
解密系列之OD使用教程20
程序:KeygenMe.exe
DialogBoxes類型常用APIs(通常在注冊(cè)界面獲取)
該程序是一個(gè)注冊(cè)機(jī)程序,用的是GetDlgItemTextA來獲取輸入的文本,用OD載入,鍵入命令 bp GetDlgItemTextA下斷,輸入用戶名、密碼:Ontrd、1234567,點(diǎn)擊Check,在動(dòng)態(tài)鏈接庫中斷下,再按下Alt+F9回到用戶領(lǐng)空。
待續(xù)。。。
總結(jié)
以上是生活随笔為你收集整理的Ollydbg使用教程学习总结(五)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 天下安卓和苹果能一起玩吗(天下安卓)
- 下一篇: 国际货运代理企业备案表在哪里办理(国际货