|
論壇說明 |
歡迎您來到『史萊姆論壇』 ^___^ 您目前正以訪客的身份瀏覽本論壇,訪客所擁有的權限將受到限制,您可以瀏覽本論壇大部份的版區與文章,但您將無法參與任何討論或是使用私人訊息與其他會員交流。若您希望擁有完整的使用權限,請註冊成為我們的一份子,註冊的程序十分簡單、快速,而且最重要的是--註冊是完全免費的! 請點擊這裡:『註冊成為我們的一份子!』 |
|
主題工具 | 顯示模式 |
2006-06-06, 02:44 PM | #1 |
榮譽會員
|
軟體 - 完美破解共享軟件[爆破篇]
今天所破解的軟件是"滲透V3.0"
所用到的工具是:filemon 與Olldy.w32dasm ---------------------------------------------- 一.尋找關鍵跳 在破解之前.要先對軟件進行查殼/脫殼.以前介紹過很多次了.這次就不多說了.脫殼後查找註冊時的錯誤 提示訊息在滲透3.0軟件界面中點擊工具欄上的"註冊"按鈕,打開註冊交談視窗.隨便輸入一個注碼碼"111-111 -111-111"確定後彈出錯誤提示訊息"註冊碼錯誤,請檢查你的註冊碼"記住該訊息,不用管它.關閉註冊交談視窗 執行反彙編程式W32Dasm.點擊表菜單"反彙編-打開文件"調入脫殼後的"Unpacked.exe"文件程式自動對調入的 滲透PMT程式進行反編譯.反彙編完成後,點擊表菜單"參考"-->"串式資料參考"命令,打開串式參考內容清單對 話框.在串式資料列表中尋找剛才記下的出錯提示訊息,拖動到列表最底部,可以檢視到提示訊息"註冊碼錯誤 ",雖然與我們看到的錯誤提示訊息相比不夠完整,但是足以確定註冊碼關鍵跳位置了.雙擊該提示訊息後來到 W32Dasm視窗中的相應代碼段處. ----------------------------------------------- 二.爆破 向上拖動檢視程式代碼.來到代碼段"004BA2FA"處,在這裡可以看到代碼語句為"004BA2FA" 7442 je 04BA33E".機器代碼為"74420",對應的彙編語"je 04BA33E",這句就是註冊碼驗證處,只要將彙編語句" je"改 為"jne"就可以取消註冊碼驗證了.選中該句代碼.點擊右鍵,在彈出表菜單中選擇"Hexedit"命令.在彈出的快速 字節編輯器對話視窗中,將"修改字節"中的"7442A1DO*********"改為"7542A1DO********" 修改完畢後,點擊"儲存"按鈕,將修改儲存到原文件中,然後點擊交談視窗中的"執行"按鈕,重新執行修改過的 PMT.exe程式.在註冊碼輸入框中輸入任意密碼.確定後提示"註冊成功.請重新啟動軟件!" ------------------------------------------------ 三.分析 按照一般情況,此時軟件已經成功的進行了破解.成為註冊版了.然而當我們重啟軟件後,打開軟件註冊視窗. 在註冊對話視窗的左上角處依然提示軟件未註冊.看到軟件經過重啟後.又變成未註冊軟件了.由此可以推測 軟件的註冊檢測手段是非常嚴格的.軟件很有可能是在重啟時,又讀取了註冊表中的某個鍵值或者硬碟中的某 個文件,對軟件是否正確註冊加以判斷.如果判斷失敗.將又重新顯示未註冊訊息. ------------------------------------------------ 四.監視到註冊標誌 在使用RegMon監視註冊表時.沒有發現什麼可疑的鍵值,具體的過程就不多說了.但是在使用filemon時監 視硬碟文件時,卻發現軟件在註冊過程中有些不尋常.. 執行filemon軟件,在表菜單"卷"中勾選"卷C",設置只監視PMT滲透軟件的安裝目錄.取消其它的監視專案. 然後註冊並重新啟動軟件,檢視監視到的硬碟資料讀取訊息時,可以看到在點擊註冊時,軟件讀取了C硬碟下的 "C:\windows\pmt.ini"文件.從文件名一看可知,該文件必定與滲透PMT程式註冊有關聯.用記事本打 開"pmt.ini"文件,這是PMT的配置文件.在文件中可以看到文件中的"[S/N]"段處,儲存有我們添寫的註冊碼. 顯而易見.軟件在註冊成功後,將我們輸入的註冊碼儲存在了這裡,然後當重啟時又因此文件中讀取這個註冊 碼.並經過註冊碼算法檢測,判斷是否為正確的註冊碼.由於我們只爆破了註冊時的代碼.未爆解啟動時的註冊 碼檢測.導致軟件還是不能註冊成功. ------------------------------------------------- 五.完美爆破 如何找到啟動時的註冊碼判斷代碼呢?再次用W32Dasm調入脫殼後的"unpacked.exe"文件,點擊表菜單"檢視" -->"查找文本"打開搜索文本交談視窗.在其中輸入要搜索查找的字元串為"S/N".然後點擊"查找下一個"按鈕. 很快就定位到的代碼段中相應的位置處.不過在程式中共有8處代碼段使用到了"S/N"字元,因此通過該字元串 來判斷是查找啟動時的關鍵跳是不行的. 打開串式資料參考對話視窗,在視窗列表中查找需要的訊息,果真看到了"已註冊"字元. 雙擊該字元串,來到對應的彙編代碼處. 這裡有兩個"已註冊"訊息,當然是找最上面的一個了.在第一個"已註冊"訊息代碼段上面不遠處.有一個跳轉 語句"004B9BFB 742C je 004B9C29004BA2FA",不用說,這一定是關鍵跳了!找到了關鍵跳就好辦了.直接用上 面的方法,點擊右鍵進行修改,將代碼中的"74'改為"75"即可! 儲存對程式文件的修改,退出W32Dasm後,重新啟動滲透程式.可以看到程式已經成功的註冊啦! |
__________________ |
|
送花文章: 3,
|
向 psac 送花的會員:
|
gardenhwang (2008-12-26)
感謝您發表一篇好文章 |