11. OD-Delphi程序暴力破解
查找關(guān)鍵字符串:Registration
可以看到?jīng)]有任何函數(shù)跳轉(zhuǎn)到此行驗證成功的代碼
最上面是retn返回上層函數(shù)
下面兩個jmp跳轉(zhuǎn)到了別處
jnz也是跳轉(zhuǎn)到了別的地址
嘗試jnz改為nop也沒有用依然失敗
右鍵此行命令,查看哪里還調(diào)用了此行指令
雙擊進入
我們看到又回到了以前的代碼
這是Delphi的特性
如果看到push 004A5841
那么下面的retn其實就是jmp 004A5841等價的指令
往上翻頁,看到很多注冊驗證時出現(xiàn)的錯誤字符串提示
我們在中間下斷點
調(diào)試跟中
如果進入動態(tài)庫領(lǐng)空直接將call改為nop
如果此跳轉(zhuǎn)不改,會進入報錯的字符串,所有這里我們改為jmp
繼續(xù)調(diào)試。如果發(fā)現(xiàn)跳轉(zhuǎn)到報錯字符串我們就改指令
如果錯過了注冊正確的指令,那么往回翻修改跳轉(zhuǎn)指令,看跳轉(zhuǎn)紅線如下圖,改為不可以跳轉(zhuǎn)
至此成功
?
?
總結(jié):
Delphi有很多的call
push 后面經(jīng)常是地址,后面跟一個retn,其用意其實就是jmp push后面的地址
F8逐步調(diào)試
發(fā)現(xiàn)進入錯誤字符串指令則修改前一個跳轉(zhuǎn)指令
發(fā)現(xiàn)跳過正確字符串指令則修改前一封跳轉(zhuǎn)指令
直至鎮(zhèn)正確
?
?
?
?
新人創(chuàng)作打卡挑戰(zhàn)賽發(fā)博客就能抽獎!定制產(chǎn)品紅包拿不停!總結(jié)
以上是生活随笔為你收集整理的11. OD-Delphi程序暴力破解的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。