妙解破解的原理_第1頁
妙解破解的原理_第2頁
妙解破解的原理_第3頁
妙解破解的原理_第4頁
妙解破解的原理_第5頁
已閱讀5頁,還剩4頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

妙解破解的原理妙解破解的原理不可不說一下學習破解的三個階段:初級,修改程序,用ultraedit等工具修改exe文件,稱暴力破解,簡稱爆破.中級,追出軟件的注冊碼.高級,寫出注冊機.先說這爆破.所謂爆破,就是指通過修改可執(zhí)行文件的源文件,來達到相應的目的.你不明白?呵呵,舉個例子好了,比如說某共享軟件,它比較用戶輸入的注冊碼,如果用戶輸入的,跟它通過用戶名(或其它)算出來的注冊碼相等的話(也就是說用戶輸入的注冊碼正確了丿,那么它就會跳到注冊成功的地方去,否則就跳到出錯的地方去.明白過來了吧,我們只要找到這個跳轉指令把它修改為我們需要的“造型”,這樣,我們是不是就可以為所欲為了?(某軟件雙手放在胸口,你要干嘛?)常見的修改方法有兩種,我給你舉例說明:no.l在某軟件中,這樣來進行注冊:00451239CALL00405E02(關鍵CALL,用來判斷用戶輸入的注冊碼是否正確)0045123DJZ004572E6(///<——此為關鍵跳轉,如果用戶輸入的注冊碼正確,就跳向成功處,即004572E6處)0045XXXXYYYYYYYYYYXXXXXXXXYYYYYYYYYYXXXXXXXXYYYYYYYYYY提示用戶注冊碼不正確等相關信息XXXXXXXX執(zhí)行到此處,就提示用戶注冊失敗

提示用戶注冊碼不正確等相關信息(注冊成功處?。?04572E6提示用戶注冊成功等相關信息呵呵,看明白了嗎?沒有的話,我來給你講一下.在軟件執(zhí)行到00451239處的時候,CALL置0045E02處來進行注冊碼判斷.接著回來后就來一個跳轉語句,即如果用戶輸入的注冊碼正確就跳到004572E6處,跳到此處,就算是注冊成功了.如果用戶輸入的注冊碼不正確的話,那么就不會在0045123D處進行跳轉,而一直執(zhí)行下去.在下面等它的,是注冊失敗部分.(注冊成功處?。?04572E6想明白了嗎?嘿嘿……沒錯,我們只要把那個關鍵跳轉JZ給改為JNZ(如果用戶輸入的注冊碼錯誤,就注冊成功,輸入正確則注冊失敗丿.當然你也可以將JNZ修改為Jmp,這樣的話,你輸入的注冊碼無論正確與否.都可以注冊成功.no.2我們再來講一下另外的一種情況:00451239CALL00405E02(關鍵CALL,用來判斷用戶輸入的注冊碼是否正確丿0045123DJNZ004572E6(///< 此為關鍵跳轉,如果用戶輸入的注冊碼不正確,就跳向失敗處,即004572E6處丿0045XXXXYYYYYYYYYYXXXXXXXXYYYYYYYYYYXXXXXXXXYYYYYYYYYYXXXXXXXX執(zhí)行到此處,就提示用戶注冊成功……提示用戶注冊成功等相關信息004572E6 < (注冊失敗處?。 崾居脩糇源a不正確等相關信息你一定看出跟第一種情況不同的地方了吧.沒錯/它與第一種不同的,就是第一種情況是如果這次我相信,并且深信不疑.你一定明白了.我還是不明白……倒你一定看出跟第一種情況不同的地方了吧.沒錯/它與第一種不同的,就是第一種情況是如果注冊碼正確,就跳到注冊成功處,如果沒有跳走,就會執(zhí)行到失敗處.而這一種情況則是如果冊碼不正確,就跳到注冊失敗處,否則將執(zhí)行到注冊成功處.這種情況的修改,除了把JNZ改為JZ外,還可以將其改為Nop,Nop這個指令沒有任何意義該條指令修改為Nop后,便可隨意輸入注冊碼來進行注冊了.原理以經給你講了,下面我們再來講一下具體的修改辦法吧.(我假設你以經明白了我所說的工具的使用方法丿先說一下虛擬地址和偏移量轉換的問題,在SoftICE和W32Dasm下顯示的地址值是所謂的內存地址(memoryoffset),或稱之為虛擬地址(VirualAddress,VAJ.而十六進制工具里,如:Hiew、HexWorkshop等顯示的地址就是文件地址,稱之為偏移量(Fileoffset丿或物理地址(RAWoffset).所農當我們要通過那些十六進制工具來對可執(zhí)行文件中的相應指令進行修改的話,先要找到它的Fileoffset.我們沒有必要去使用那些專門的轉換工具,在W32Dasm中就有這個功能,比如說你W32Dasm中來到0045123D處,在W32Dasm界面下方的狀態(tài)欄中就會出現該條指令的虛擬地址和偏移地址,即@,0045123D@offset0005063Dh后面的這個0005063Dh就是相應的偏移地址.我們得到該地址后,便可用UltraEdit等十六進制工具來對可執(zhí)行文件進行修改了.比如使用UltraEdit,你先用UltraEdit打開該可執(zhí)行文件,然后按CtrlG,接著輸入你得到的偏移地址,就可以來到其相應的機器碼處.再給你講一下機器碼,所謂的機器碼.就是你看到的那些個十六進制數據了.還記的它們與匯編指令是一一對應的嗎?以下這幾個是爆破時要用到的,其它的如果感興趣,可自行查看相關資料:JZ=74;JNZ=75;JMP=EB;Nop=90爆破的時候,只要對以上機器碼進行相應的修改就行了,比如第一種情況的時候,可以將74修改為EB,即將JZ修改為JMP.而第二種情況,責需將75修改為90,即將JNZ修改為Nop.了上來/嘿嘿,這次被俺接到了丿上邊講了爆破的原理,你需要明白的是.爆破只是你學習Crack的開始,是很簡單的手段.剛門的時候可以玩玩兒,但希望你不要就此不前/嘿嘿,再說了.人家的軟件中不是都說了嘛,不準對其進行逆向修改.你動了人家的身子,怎么能不買帳呢?)偶就不喜歡爆破,做不出注冊機也要找出注冊碼.否則我就不會去注冊這個軟件,既然想不掏錢,就要靠你自己的本事.(等以后我有錢了,會考慮去注冊那些優(yōu)秀的共享軟件的丿.所圾從某種意義上來說,我是一個正人君子.其實要找到注冊碼并不是一件多么難的事,我是指你所針對的軟件不太那個的時候不過你無需懼怕.剛才我們說爆破的時候不提到過關鍵CALL嗎?一般情況下,這個關鍵CALL就是對兩個注冊碼(一個是軟件自身通過你的注冊名或機器什么的計算出來的正確的注冊碼,令一個就是你輸入的錯誤的注冊碼丿進行比較.我前邊提到過,CALL之前一般會把所用到的數據先放到一個地方,CALL過去的時候再從這些地方把先前放入的數據取出來,進行相應的處理.這個關鍵CALL也是這樣,在CALL之前,一般會把那兩個注冊碼放到堆?;蚰硞€寄存器中.嘿嘿,我們只要在調試器中,單步執(zhí)行到該CALL,在未進去之前通過CALL之前的指令判斷其將正確的和不正確的注冊碼放到哪里了.然后再用相應指令進行查看就成了,我說過不難的.下面列出兩個最常見的情況(可參考相關教程丿:no.lmoveax[]這里可以是地址,也可以是其它寄存器movedx[]同上,該條指令也可以是popedxcallOO??????關鍵calltesteaxeax

處下deax或dedx就能看到正確的注冊碼了.moveax[]這里可以是地址,也可以是其它寄存器movedx[]同上,該條指令也可以是popedxcallOO??????關鍵calljne(je)關鍵跳轉以上兩種情況最為常見,而那些個不太常見的情況,我們這里就不再提了.到下下一章的時候,我會給你講相關方法的關于查找軟件注冊碼的部分,就到這里.具體內容,下下一章咱們再說.(不是說了嗎?我以經可以接到你的磚頭了,干嘛還要丟呢?丿最后,再來說最后■的所謂的高級階段,如

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論