逆向破解這塊我也是個剛起步的小菜,入門都還算不上吧,看了點基礎教程,先動手練習一下增加點興趣。嘿嘿
工具:
peid //查殼工具
OllyDebug //反匯編、動態調試工具 簡稱OD
殼的概念:
作者編好軟件后,編譯成exe可執行文件。
1.有一些版權信息需要保護起來,不想讓別人隨便改動,如作者的姓名等,即為了保護軟件不被破解,通常都是采用加殼來進行保護。
2.需要把程序搞的小一點,從而方便使用。於是,需要用到一些軟件,它們能將exe可執行文件壓縮,
3.在黑客界給木馬等軟件加殼脫殼以躲避殺毒軟件。
正文:
首先自己寫了個程序來做測試,一個登錄程序。在我們不知道正確密碼的情況下來破解(爆破)這個程序
程序代碼:
由圖我們可以知道程序的正確密碼其實是qwer123。我要破解這個程序 就是要讓輸入錯誤的密碼能成功登錄!
拿到一個程序首先要做的就是查一下殼,看看加沒加殼,如果加了殼,我們還要脫殼。
可以看見沒有加殼 ,顯示的信息為Borland C++ 1999編譯器寫的程序。
可以看見程序有提示關鍵字 現在我們把程序載入OD (我這里用的是吾愛破解論壇的OD)
然后單擊右鍵----中文搜索引擎---智能搜索
接下來跳到字符串界面,然后我們在ctrl+F來搜索剛才提示的字符串關鍵字。
找到后在雙擊這行跳到匯編主界面,下圖跳到了這條字符串的匯編處。
然后我們向上翻,可以看到有一條je命令(匯編判斷語句),這里就是破解的關鍵點。
仔細看的話 左邊有一條線,je的意思是:上面的字符串比較判斷,相等就跳轉,不等就不跳。
現在我們右鍵je這行用NOP填充掉,nop就是它什么也不能做,說白了就是不讓它跳轉。
填充掉之后我們還要保存文件 右鍵選着復制到可執行文件---所有修改
選着全部復制 最后保存到桌面測試
可以看見用前邊提示錯誤的密碼現在提示成功登錄,這樣就成功破解了程序。