[轉(zhuǎn)]再發(fā)一個(gè)破解教程
轉(zhuǎn)自:http://bbs.macd.cn/thread-654536-1-1.html軟件破解的目的是:::有些需要注冊(cè)的軟件,可是找不到注冊(cè)碼,將其破解之后,輸入任何注冊(cè)碼都會(huì)提示注冊(cè)成功。
!
聲明:本人也只是一知半解,我們可以一起學(xué)習(xí),但是不要給我出太難的題發(fā)一些大型軟件讓我破解,我怎么可能破的出來呢??此貼適合從來沒接觸過軟件破解或編程的同志學(xué)習(xí)
因?yàn)榻貓D制作圖示太費(fèi)時(shí)間了,做個(gè)大貼要好幾個(gè)小時(shí),才加4分,沒意思,本來想就此封筆,可是看兄弟們都這么熱情,忍不住再發(fā)一貼。昨晚夜班到現(xiàn)在還沒睡呢,所以偷點(diǎn)懶,大家麻煩一下到我上一個(gè)貼子:網(wǎng)絡(luò)添表破解教程看吧
下面開始今天的破解,相關(guān)軟件即圖示到我的這個(gè)帖子下載:http://bbs.macd.cn/viewthread.ph ... ghlight=&page=1
我要破解的軟件:萬事通.exe
破解需要的軟件:偵殼 language.exe 脫殼AspackDie.exe
反編譯 W32Dasm黃金中文版 16進(jìn)制編輯器 UltraEdit.rar
在破解之前先復(fù)習(xí)一下基礎(chǔ)知識(shí):
一.破解的等級(jí)
初級(jí),修改程序,用ultraedit修改exe文件,稱暴力破解,簡(jiǎn)稱爆破
中級(jí),追出軟件的注冊(cè)碼
高級(jí),寫出注冊(cè)機(jī)
二.用w32dasm破解的一般步驟:
1.看軟件的說明書,軟件注冊(cè)與不注冊(cè)在功能上有什么區(qū)別,如何注冊(cè)
2.運(yùn)行此軟件,試著輸入你的姓名和任意注冊(cè)碼去注冊(cè),有什麼錯(cuò)誤
提示信息,將錯(cuò)誤提示信息記下來
3.偵測(cè)有無加殼(第一課).若加殼,脫殼(第二課)
4.pw32dasmgold反匯編
5.串式參考中找到錯(cuò)誤提示信息或可能是正確的提示信息雙擊鼠標(biāo)左鍵
6.pw32dasmgold主窗口中分析相應(yīng)匯編,找出關(guān)鍵跳轉(zhuǎn)和關(guān)鍵call
7.綠色光條停在關(guān)鍵跳轉(zhuǎn),在pw32dasmgold主窗口底部找到關(guān)鍵跳轉(zhuǎn)
的偏移地址(實(shí)際修改地址)
8.用ultraedit找到偏移地址(實(shí)際修改地址)修改機(jī)器碼,保存
殼的概念:版權(quán)信息需要保護(hù)起來,不想讓別人隨便改動(dòng),exe可執(zhí)行文件壓縮,最常見的加殼軟件ASPACK ,UPX,PEcompact
脫殼:拿到一個(gè)軟件,偵測(cè)它的殼,然后我們要把它的殼脫去,還原它的
本來面目.若它沒有加殼,就省事不用脫殼了.脫殼軟件
unaspack,caspr,upx,unpecompact,procdump
實(shí)際修改地址(偏移地址)和行地址(虛擬地址)
pw32dasmgold反匯編出來的代碼由三列組成
第一列 行地址(虛擬地址)
第二列 機(jī)器碼(最終修改時(shí)用ultraedit修改)
第三列 匯編指令
第一列 第二列 第三列
:0041BE38 2B45F0 sub eax, dword ptr [ebp-10]
:0041BE3B 6A42 push 00000042
:0041BE3D 50 push eax
:0041BE3E FF75F4 push [ebp-0C]
:0041BE41 FF75F0 push [ebp-10]
:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8]
常見修改(機(jī)器碼)
74=>75 74=>90 74=>EB
75=>74 75=>90 75=>EB
jnz->nop
75->90(相應(yīng)的機(jī)器碼修改)
jnz -> jmp
75 -> EB(相應(yīng)的機(jī)器碼修改)
jnz -> jz
75->74 (正常) 0F 85 -> 0F 84
兩種不同情況的不同修改方法
1.修改為jmp
je(jne,jz,jnz) =>jmp相應(yīng)的機(jī)器碼EB (出錯(cuò)信息向上找到的第一個(gè)跳轉(zhuǎn))jmp的作用是絕對(duì)跳,無條件跳,從而跳過下面的出錯(cuò)信息
2.修改為nop
je(jne,jz,jnz) =>nop相應(yīng)的機(jī)器碼90 (正確信息向上找到的第一個(gè)跳轉(zhuǎn)) nop的作用是抹掉這個(gè)跳轉(zhuǎn),使這個(gè)跳轉(zhuǎn)無效,失去作用,從而使程序順利來到緊跟其后的正確信息處
好了,下面開始我們的破解之旅。。。。。。。。。。
1,偵殼:先打開偵殼 language.exe,選擇打開----找到要破解的"萬事通.exe":點(diǎn)確。language.exe便顯示出軟件的殼又是:Aspack,
2,脫殼:雙擊脫殼AspackDie.exe,出現(xiàn)一個(gè)對(duì)話框,選擇萬事通.exe,打開。點(diǎn)確定脫殼完成。在萬事通.exe:同目錄下生成一個(gè)unpacked.exe文件,這就是脫殼后的萬事通.exe
3,運(yùn)行脫殼后的unpacked.exe,點(diǎn)幫助----注冊(cè),注冊(cè)名稱,注冊(cè)碼隨便添。。點(diǎn)注冊(cè),提示:“注冊(cè)碼不符”,好了記住這5個(gè)字。關(guān)了它。
4,開始反匯編:打開 反編譯 W32Dasm黃金中文版,選擇反匯編----打開脫殼后的unpacked.exe,變開始加載。。返匯編之后。點(diǎn)擊上面的參考----串式參考,出現(xiàn)這個(gè)對(duì)話框。找到
“注冊(cè)碼不符”,雙擊它,匯編主程序便來到這里:圖1。(注意:正確注冊(cè)信息在錯(cuò)誤信息之下)關(guān)閉串式參考框??粗鞒绦颍?。從注冊(cè)碼錯(cuò)誤向上找到第一個(gè)跳轉(zhuǎn)(關(guān)鍵跳,除了jmp的其它跳:je,jne,jz,jnz),來到這里。(它上面的call叫關(guān)鍵call。),雙擊關(guān)鍵跳,看軟件最下面有一行字的后面:@Offset 000b6fe8H in File:unpacked.exe.其中@Offset 000b6fe8H就是偏移地址,記住000b6fe8(后面的h代表16進(jìn)制,不用管他),
5,開始修改軟件:打開16進(jìn)制編輯器 UltraEdit.rar,。打開脫殼后的unpacked.exe,直接按ctrl+g,出現(xiàn)對(duì)話框,輸入0xb6fe8(即偏移地址,不要前面的000)。點(diǎn)確定,來到圖2,說過正確注冊(cè)信息在錯(cuò)誤信息之下,所以這里將74改為eb。圖2.3。。將光標(biāo)移到74上直接輸入數(shù)字eb即可,其他地方不要?jiǎng)?。好了,改好只后左上角的文?--另存為unpacked222.exe。
6,關(guān)閉所以軟件,運(yùn)行另存的unpacked222.exe,點(diǎn)幫助---注冊(cè),注冊(cè)名稱,注冊(cè)碼隨便添,點(diǎn)確定,提示注冊(cè)完成。?;氐杰浖缑婵纯?,幫助,注冊(cè)一項(xiàng)已經(jīng)沒有了。
7,破解全部完成。
posted on 2008-04-20 13:10 hijackwust 閱讀(1819) 評(píng)論(0) 編輯 收藏