軟體破解基礎教程?

先教大家一些基礎知識,學習破解其實是要和程式打交道的,彙編是破解程式的必備知識,但有可能部分朋友都沒有學習過組合語言,所以我就在這裡叫大家一些簡單實用的破解語句吧!
----------------------------------------------------------------------------------------------------------------
語句:cmp a,b //cmp是比較的意思!在這裡假如a=1,b=2 那麼就是a與b比較大小.
mov a,b //mov是賦值語句,把b的值賦給a.
je/jz //就是相等就到指定位置(也叫跳轉).
jne/jnz //不相等就到指定位置.
jmp //無條件跳轉.
jl/jb //若小於就跳.
ja/jg //若大於就跳.
jge //若大於等於就跳.
這裡以一款LRC傻瓜編輯器為例,講解一下軟體的初步破解過程。大家只要認真看我的操作一定會!假如還是不明白的話提出難點幫你解決,還不行的話直接找我!有時間給你補節課!呵呵!
目標:LRC傻瓜編輯器 殺殺殺~~~~~~~~~
簡介:本軟體可以讓你聽完一首MP3歌曲,便可編輯完成一首LRC歌詞。並且本軟體自身還帶有MP3音樂播放和LRC歌詞播放功能,沒註冊的軟體只能使用15天。

工具/原料

我們破解或給軟體脫殼最常用的軟體就是OD全名叫Ollydbg,介面如圖:
它是一個功能很強大的工具,左上角是cpu視窗,分別是地址,機器碼,彙編程式碼,註釋;註釋新增方便,而且還能即時顯示函式的呼叫結果,返回值.
右上角是暫存器視窗,但不僅僅反映暫存器的狀況,還有好多東東;雙擊即可改變Eflag的值,對於暫存器,指令執行後發生改變的暫存器會用紅色突出顯示.
cpu視窗下面還有一個小視窗,顯示當前操作改變的暫存器狀態.
左下角是記憶體視窗.可以ascii或者unicode兩種方式顯示記憶體資訊.
右下角的是當前堆疊情況,還有註釋啊.

步驟/方法

我們要想破解一個軟體就是修改它的程式碼,我們要想在這程式碼的海洋裡找到我們破解關鍵的程式碼確實很棘手,所以我們必須找到一定的線索,一便我們順藤摸瓜的找到我們想要的東東,現在的關鍵問題就是什麼樣的資訊才算是有用的資訊呢?要怎麼找呢?
1. 在註冊軟體時如果失敗一般會彈出一些類似於“註冊失敗”,“註冊碼錯誤”,“無效的註冊碼”等資訊,正確的話就會顯示“註冊成功”,“註冊碼正確,謝謝使用”這樣的成功提示,顯然它們都可以成為我們破案的線索!在這裡我們將它們歸納為“註冊提示資訊”。如果找不到這些鮮明的字眼的話,我們可以將注意力轉移到別的可疑點!如未註冊標誌,過期警告,次數標識,NAG對話方塊等等!!!

如何去找線索呢?好!我們先將LRC傻瓜編輯器放到OD載入 (如圖1)

軟體破解基礎教程

現在有兩種方法可以查詢線索,1。在反彙編視窗中單機滑鼠右鍵,在彈出的選單中,選擇“查詢”再點選“所有參考文字字串”。2。是用OD帶的外掛找線索,依然在反彙編視窗中單擊滑鼠右鍵,在彈出的選單中,選擇“UltraString Reference”或是“超級字串參考”在點選“Find ASCII”。(如圖2)

軟體破解基礎教程

建議你使用第2種方法,當選擇完後,OD會出現一個新的視窗(如圖3)。
這裡會顯示所有找到的字串,當然“註冊提示資訊”這些寶貴的線索也就一目瞭然了!
找到了線索,那麼這一節的主要問題“確定修改位置”也就可以解決了!呵呵!厲害吧!後面就到關鍵了·
好!現在我們已經知道了,我們破解軟體的關鍵位置查詢方式大家已經知道了!那麼這第三步就是查詢這個軟體的線索了!

軟體破解基礎教程

先在我們先看一下LRC傻瓜編輯器這個軟體開啟,點第2排的問號的圖示找註冊視窗,同時我們也看見了沒有註冊的軟體只能用15天,任意輸入個註冊碼點註冊看看有什麼反映,什麼反映也沒有,大家不要急!想想看我們要輸入正確的註冊碼它還能不提示註冊資訊嗎?基本上是一定顯示的!那我們就用腦子先想一下他會提示什麼?
好!想好後,我們在用OD載入這個軟體,開啟字串參考,雖然內容眾多但是還是讓我們找到了我們想要的東東!(如圖4)呵呵!看見了吧!恰好是十分經典的註冊成功的提示!現在我們說得上是找到線索了!下一步就是“確定修改位置”。

軟體破解基礎教程

現在我們把游標定位到註冊碼成功提示的這一行程式碼上,然後雙擊左鍵就到這個提示對應的程式碼處了!(如圖5)

軟體破解基礎教程

這個軟體的具體流程是這樣的,把我們輸入的註冊碼和正確的註冊碼相比較,如果不相等就跳轉向一個地方,如果相等就彈出“註冊成功”的提示!
現在我們看一下這幾行程式碼!(如圖6)

軟體破解基礎教程

是不是和我們想象中的流程一樣呢?在“您已經註冊”這個提示對應的程式碼上方有一個跳轉“JNZ”,剛好就是“不相等就跳轉”的意思(呵呵!聰明人有可能已經想到怎麼改了吧?),所以這個跳轉非常可疑。先把它假設成我們要修改的位置。在這行的程式碼處右鍵開啟“彙編”功能(也可以直接雙擊)。將“JNZ”改成“JZ”呵呵!(如圖7,8)JZ就是相等就跳的意思!現在我們在想一下!如果我們現在修改的程式碼處就是破解這個軟體要修該的程式碼處的話!那會怎樣?我們輸入錯誤的註冊碼就會註冊成功,輸入正確的註冊碼就註冊失敗!是不是很有意思?

軟體破解基礎教程

軟體破解基礎教程

修改完畢我們現在就要儲存了!儲存方法是,在你修改過的程式碼處,點選右鍵,選擇“複製到可執行檔案”,“選擇”,然後在彈出的新窗口裡那部分程式碼會被高亮顯示,在次使用右鍵,選擇儲存到檔案就OK !了!(如圖9)現在我們在看看!看看我們的成果吧!再次開啟LRC傻瓜編輯器在註冊資訊那隨便輸入個註冊碼點註冊看看!“您已經註冊,多謝支援!”呵呵!成功了!哈哈!怎樣是不是很有感覺呢?有沒有一種黑客的感覺?呵呵!我們在破解這個軟體時就用了JNZ和JZ這兩個語句!我們把JNZ改成了JZ達到了我們破解軟體的目的!對於處學者來說,掌握上面的修改方法就足夠了!(一般軟體你只要掌握上面的方法基本上就可以破解了!但有殼除外!)呵呵!其實我們不用JZ也可以成功的!而是使用了另一個語句也可完成,並且效果更佳!

軟體破解基礎教程

注意事項
這裡只是講了破解的初級階段——爆破,更高階的破法還有找註冊碼,寫註冊機等,需要循序漸進地學習。

大部分軟體都是帶殼的,在破解之前需要先脫殼,脫殼教程另外分享,也可以到我的空間來看,歡迎大家來交流!

教程, 軟體, 位置, 基礎教程, 語句,
相關問題答案