




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、用SOFTICE破解WINZIP的過程日期:2004年3月10日 作者:清風網(wǎng)絡(luò)學院 查看:大字體 中字體 小字體同時按下鍵盤Ctrl+D會有驚喜發(fā)生 破解步驟:1. 用softice載入windows(通過CTRL+D來檢查softice是否已經(jīng)準備好,按F5退出softice);2. 運行winzip,選擇“help”下的“Enter Registration Code.”;3. 在“Name:”中輸入:KraneXH(隨意),“Registration #:”中輸入:12345678(隨意);4. 用CTRL+D呼出s
2、oftice,下萬能斷點:bpx hmemcpy,按F5返回到winzip;5. 在winzip中選擇“OK”,很快程序就被softice攔截下來(因為我們設(shè)置了斷點bpx hmemcpy,當在winzip中選擇“OK”時,winzip會通過hmemcpy這個功能去取我們輸入的名字“KraneXH”和注冊碼“12345678”,softice檢測到hmemcpy被調(diào)用,于是就中斷winzip的運行,停留在winzip中調(diào)用hmemcpy的地方);6. 用 bd * 暫停剛才設(shè)置的斷點 bpx hmemcp
3、y (為什么要暫停斷點bpx hmemcpy呢?因為我們的目的是要在winzip取名字和注冊碼的時候中斷它的運行,但是 bpx hmemcpy 這個斷點并不是針對winzip才有效的,計算機里運行的程序都可能會隨時調(diào)用它。由于我們在winzip中剛輸入名字和注冊碼后設(shè)置斷點 bpx hmemcpy ,此時winzip會馬上去取我們輸入的名字和注冊碼,所以我們能確保是中斷在winzip程序中,通過 bd * 這個命令暫停斷點 bpx hmemcpy ,能夠防
4、止解密時被其它不相干的程序中斷,影響解密的正常進行);7. 按F12鍵9次,返回到winzip的領(lǐng)空(因為剛才softice中斷在hmemcpy中,這是windows系統(tǒng)區(qū)域,不能更改的,winzip僅僅是調(diào)用這個功能而已,所以我們必須要返回到winzip程序中才有用),來到下面的地方:.0167:00407F6DCALLUSER32!GetDlgItemTextA0167:00407F73PUSHEDI- 程序停留在這里,EDI指向“KraneXH”0167:00407F74CALL0043F89A0167:00407F79PUSHEDI0167:00407F7ACALL
5、0043F8C30167:00407F7FPOPECX0167:00407F80MOVESI, 0048CDA40167:00407F85POPECX0167:00407F86PUSH0B0167:00407F88PUSHESI0167:00407F89PUSH00000C810167:00407F8EPUSHEBX0167:00407F8FCALLUSER32!GetDlgItemTextA0167:00407F95PUSHESI- ESI指向“12345678”0167:00407F96CALL0043F89A0167:00407F9BPUSHESI0167:00407
6、F9CCALL0043F8C30167:00407FA1CMPBYTE PTR 0048CD78,00- 0048CD78指向“KraneXH”0167:00407FA8POPECX0167:00407FA9POPECX0167:00407FAAJZ004080050167:00407FACCMPBYTE PTR 0048CDA4,00- 0048CDA4指向“12345678”0167:00407FB3JZ004080050167:00407FB5CALL004079050167:00407FBATESTEAX,EAX0167:00
7、407FC3JZ00408005.8. 我們從調(diào)用hmemcpy的系統(tǒng)區(qū)域中返回到winzip領(lǐng)空時,程序停留在0167:00407F73PUSHEDI上,看看它上面的那條指令0167:00407F6DCALLUSER32!GetDlgItemTextA,這個CALL就是取我們輸入數(shù)據(jù)的程序,也就是這個CALL讓我們用 bpx hmemcpy 將winzip攔截了下來。既然winzip用這個CALL去取輸入的東西,那么調(diào)用之后肯定會返回結(jié)果的,讓我們來看看:用 D EDI ,觀察softice的數(shù)據(jù)區(qū),你會看到EDI指向的內(nèi)
8、存區(qū)域的內(nèi)容是我們輸入的名字“KraneXH”;9. 從程序中可看出,下面不遠的地方還有一個同樣的地方調(diào)用USER32!GetDlgItemTextA,既0167:00407F8FCALLUSER32!GetDlgItemTextA這一行。按F10鍵多次,走到這個CALL的下一句停下,既程序停在0167:00407F95PUSHESI這條指令上,用 D ESI ,同樣的我們可以看到ESI指向的內(nèi)存區(qū)域的內(nèi)容是我們輸入的注冊碼“12345678”?,F(xiàn)在winzip已經(jīng)將我們輸入的名字和注冊碼都取到,讓我們來看看它下一步要做什么?10. 繼續(xù)按F1
9、0多次,當程序走到0167:00407FA1CMPBYTE PTR 0048CD78,00時停下來,這條指令將內(nèi)存0048CD78中的數(shù)據(jù)和00比較,然后根據(jù)比較結(jié)果判斷程序走向。用 D 0048CD78,觀察softice的數(shù)據(jù)區(qū),我們可以看到0048CD78中的數(shù)據(jù)是“KraneXH”,現(xiàn)在我們知道這條指令的作用是判斷我們輸入的名字是否為空,如果沒有輸入任何東西,程序?qū)?0408005去;同樣的,按F10走到0407FACCMPBYTE PTR 0048CDA4,00這行停下,然后用 D 0048CDA4
10、,可以看到0048CDA4中的數(shù)據(jù)是“12345678”。因為我們輸入了名字和注冊碼,所以程序不會跳到 00408005去,程序檢查輸入的名字和注冊碼,如果任何一個沒有輸入(既其值為00),程序都會跳到00408005去,由此我們應(yīng)該想到00408005很可能就是顯示出錯的地方,即當程序走到00408005 的時候,表示輸入的名字和注冊碼是錯誤的;11. 按F10兩次來到下面的那個CALL00407905(因為程序剛才停在0167:00407FACCMPBYTE PTR 0048CDA4,00上):.0167:00407FB5CALL00407
11、905- 程序停留在這里0167:00407FBATESTEAX,EAX0167:00407FC3JZ00408005.程序判斷輸入的名字和注冊碼是否為空后調(diào)用CALL00407905,這個CALL將結(jié)果返回到EAX中,程序根據(jù)EAX值判斷走向。從程序可以知道,如果EAX的返回值是0,則程序會跳到00408005,就是剛才我們判斷是有問題的地方。那么這個CALL倒底藏著什么貓膩呀?現(xiàn)在還不是很清楚,接著按F10兩次來到JZ00408005停下?,F(xiàn)在看看softice中的零(即Z)標志位,其值是零,所以程序?qū)?0408005去,我們姑且按F10跳到00408005去看個究竟:.0
12、167:00408005CALL004082A6- 程序停留在這里0167:0040800APUSH0000028E0167:0040800FCALL0043F5ED0167:00408014PUSHEAX0167:00408015PUSHEBX0167:00408016PUSH3D0167:00408018CALL00430025- 出現(xiàn)錯誤框0167:0040801DADDESP,100167:00408020INCDWORD PTR 00487AF80167:00408026CMPDWORD PTR 00487AF8,03
13、60;- 判斷錯誤次數(shù)是否到了3次?0167:0040802DJNZ0040812C0167:00408033PUSH000167:00408035PUSHEBX0167:00408036CALLUSER32!EndDialog0167:0040803CJMP0040812C.12. 一直按F10走過0167:00408018CALL00430025,這是程序蹦出一個窗口,警告:Incomplete or incorrect information(不完整或不正確的信息),程序走到這里就已經(jīng)很明朗了:如果程序在前面的時候跳到00408005來,
14、就表示輸入的名字和注冊碼是錯誤的,所以剛才的那個0167:00407FB5CALL00407905一定是比較輸入的注冊碼是否正確的地方,也就是里面肯定有將我們輸入的注冊碼和正確的注冊碼相比較的地方,所以我們要進入CALL00430025里去看看。如果繼續(xù)往CALL00430025下面的語句看的話,你會看到下面的幾句:0167:00408020INCDWORD PTR 00487AF80167:00408026CMPDWORD PTR 00487AF8,030167:0040802DJNZ0040812C程序先將內(nèi)存00487AF8處的值加1(其初始值為0
15、,可以在這條語句前用 D 00487AF8 查看),然后比較是否是3,如果不是就跳到0040812C,如果是則執(zhí)行后面的0167:00408036CALLUSER32!EndDialog,其作用就是關(guān)閉對話框,也就是我們輸入名字和注冊碼的窗口。由此我們可以看出此處程序的作用是檢查錯誤輸入名字、注冊碼的錯誤次數(shù)是否已經(jīng)到了3次,如果到了3次,則關(guān)閉對話框,不允許再輸入;如果少于3次,可有機會再次輸入名字和注冊碼。13. 重復(fù)前面的步驟1到11,讓程序停在0167:00407FB5CALL00407905上,然后按F8進入這個CALL里面去:.0167:00
16、4079D5PUSHEBP0167:004079D6PUSHEBP,ESP0167:004079D8SUBESP,000002080167:004079DEPUSHEBX0167:004079DFPUSHESI0167:004079E0XORESI,ESI0167:004079E2CMPBYTE PTR 0048CD78,000167:004079E9PUSHEDI0167:004079EAJZ00407A8A.14. 按F10鍵N次(我也不知道幾次,你自己數(shù)一數(shù)吧_),一直來到下面的地方停下:.0167:00407A91LEAEAX,EBP-0140-
17、;程序停留在這里0167:00407A97PUSHEAX0167:00407A98PUSHEDI- EDI指向輸入的名字“KraneXH”0167:00407A99CALL00407B47 - 計算注冊碼0167:00407A9EMOVESI,0048CDA40167:00407AA3LEAEAX,EBP-01400167:00407AA9PUSHESI- ESI指向輸入的注冊碼“12345678”0167:00407AAAPUSHEAX- EAX指向正確的注冊碼“5CFC0875”0167:00407AABCALL004692D00167:0
18、0407AB0ADDESP,100167:00407AB3NEGEAX0167:00407AB5SBBEAX,EAX0167:00407AB7INCEAX0167:00407AB8MOV00489FDC,EAX0167:00407ABDJNZ00407B270167:00407ABFLEAEAX,EBP-01400167:00407AC5PUSHEAX0167:00407AC6PUSHEDI- EDI指向輸入的名字“KraneXH”0167:00407AC7CALL00407BE4 - 計算注冊碼0167:00407ACCLEAEAX,EBP-01400167:0
19、0407AD2PUSHESI- ESI指向輸入的注冊碼“12345678”0167:00407AD3PUSHEAX- EAX指向正確的注冊碼“23804216”0167:00407AD4CALL004692D00167:00407AD9ADDESP,100167:00407ADCNEGEAX0167:00407ADESBBEAX,EAX0167:00407AE0INCEAX0167:00407AE1MOV00489FDC,EAX0167:00407AE6JNZ00407B27.15. 大家一定會問:為什么會在這里停下,而不是其它地方呢?因為我在前面的程序中已經(jīng)用 D * 看過了,沒有發(fā)現(xiàn)什么可疑的呀_!按F10走到0167:00407A99CALL00407B47處,用 D
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 給水工程維修協(xié)議書范本
- 汽車質(zhì)押貸款信用評估協(xié)議
- 車庫租賃合同及車位分配管理協(xié)議
- 車位買賣合同補充協(xié)議(含車位租賃期限約定)
- 咖啡館門面房租賃管理服務(wù)合同
- 高端酒店客房管理承包經(jīng)營合同范本
- 廚房安全工作協(xié)議書范本
- 生態(tài)旅游項目投資建設(shè)合同
- 房屋裝修保修協(xié)議書范本
- 沿街商鋪租賃合同參考范本
- 《大數(shù)據(jù)技術(shù)原理與應(yīng)用(第3版)》期末復(fù)習題庫(含答案)
- 閩2023-G-01先張法預(yù)應(yīng)力高強混凝土管樁DBJT13-95
- 2024 胃食管反流病指南共識:藥物治療
- 總承包管理技術(shù)方案
- 2024吉林省國資委出資企業(yè)招聘筆試參考題庫含答案解析
- JJG 164-2000液體流量標準裝置
- 光伏運維技能大賽考試題庫及答案
- 大學生實習實踐的職業(yè)素養(yǎng)與職業(yè)道德1
- JBT 14346-2023 建筑施工機械與設(shè)備 泥水平衡頂管機 (正式版)
- XXXX造價管理精講講義第五章工程項目投融資
- 李辛演講-現(xiàn)代人的壓力與管理
評論
0/150
提交評論