歡迎光臨
我們一直在努力

零基礎學破解-第六集

作業系統環境:Windows XP Pro 32bit 版本2002 SP3
使用工具:Immunity Debugger ,用OllyDbg也可以,( 這邊我自己是使用別人改良過的簡體中文化Immunity )
查殼工具:PEID (用來偵測程式有沒有被加殼)
要破解的軟體:文件巴士 下載點,壓縮密碼lonelysec
(下載的練習程式不保證是安全無毒的,所以建議都下載安裝在虛擬機上。如載點失效,請私訊波波粉專)


此篇教學:破解程式30天試用期。

先用PEID查詢程式有沒有被加殼。

file

查看區段,可發現是VMP,關於VMP的基本原理可查看這篇VMP壳原理

file

接著要開始破解這隻程式了,我們將該檔案丟入到 Immunity Debugger ,因為該程式有被加殼,所以這邊會跳出告警,我們選擇"否"。

file

進入後,老樣子,我們直接鍵盤F9,執行程式,可觀察到該程式有30天的試用期,我們此次的目的就是要解除這30天試用期的驗證。

file

接著回到 Immunity Debugger ,我們先跳到 401000 的位址,也就是 main function 所在位址。

file

接著我們嘗試回到文件巴士,嘗試任意註冊帳號
用戶名:popo
註冊碼:popo123
正如預期的,跳出了 "注册失败,请检查注册码大小写是否正确!"
注意這個失敗訊息,是我們接下來將要利用的字串。

file

返回到 Immunity Debugger ,我們滑鼠點選右鍵-->中文搜索引擎-->搜索ASCII或智能搜索皆可。

file

我們滑鼠右鍵-->Find,搜尋 "注册失败"

file

接著往下尋找,即可找到 "注册失败,请检查注册码大小写是否正确!"

file

選定該字串,並滑鼠右鍵-->Follow,進入到該地址00408BD4

file

進入到註冊失敗的地址00408BD4後,我們往上看可找到00408BA8,"注册完成,感谢您的购买和支持,您可随时访问我们的网站免费获取最新版本!"

到這裡我們可以猜想,當使用者註冊時,應該是會有個判斷式,如果註冊碼正確,則會進入到00408BA8,如果失敗,進入到00408BD4。

file

為了驗證我們的想法,我們往上看下程式碼,在00408B20地址,發現了je跳轉

JE ;等於則跳轉

file

為甚麼是這個00408B20地址呢? 因為你可以發現在該地址有一條紅線向下指向到00408BC5,而註冊失敗的地址在00408BD4,也就是註冊成功與註冊失敗的中間。

file

我們在je跳轉 00408B20地址下中斷點,然後返回到文件巴士,嘗試註冊帳號。

可以觀察到,當我們用戶名與註冊碼任意輸入註冊後,就卡在該00408B20了,因為這邊就是進行了判斷跳轉。

file

接下來開始進行破解,為了不讓他驗證跳轉,我們可在這邊將00408B20地址je直接改成nop,就可忽略而單步往下了。

file

將je改成nop後,我們重新再註冊一次。

file

顯示"註冊完成",也就證明了我們的猜想,並成功解除了30天的驗證。

file
file

結束。

-------------------
如果你認同我們每日分享的文章,請幫我們按個讚並且點擊追蹤「搶先看」,讓我們提供最新消息給您!您的分享及點讚,是我們持續推廣資訊安全最大的動力來源。
https://www.facebook.com/lonelysec

贊(0) 打賞
轉載請附上作者連結:波波的寂寞世界 » 零基礎學破解-第六集

波波的寂寞世界

Facebook聯繫我們

覺得文章有用,請作者喝杯咖啡

掃一掃打賞作者狗糧