人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動(dòng)態(tài)

詳述破解技術(shù)中的暴力破解原理

發(fā)布日期:2022-01-03 05:20 | 文章來源:源碼中國
不可不說一下學(xué)習(xí)破解的三個(gè)階段:   初級(jí),修改程序,用ultraedit等工具修改exe文件,稱暴力破解,簡(jiǎn)稱爆破。   中級(jí),追出軟件的注冊(cè)碼。   高級(jí),寫出注冊(cè)機(jī)。   先說這爆破。所謂爆破,就是指通過修改可執(zhí)行文件的源文件,來達(dá)到相應(yīng)的目的。你不明白?呵呵,舉個(gè)例子好了,比如說某共享軟件,它比較用戶輸入的注冊(cè)碼,如果用戶輸入的,跟它通過用戶名(或其它)算出來的注冊(cè)碼相等的話(也就是說用戶輸入的注冊(cè)碼正確了),那么它就會(huì)跳到注冊(cè)成功的地方去,否則就跳到出錯(cuò)的地方去。   明白過來了吧,我們只要找到這個(gè)跳轉(zhuǎn)指令,把它修改為我們需要的“造型”,這樣,我們是不是就可以為所欲為了?   常見的修改方法有兩種,我給你舉例說明:   no.1   在某軟件中,這樣來進(jìn)行注冊(cè):   00451239 CALL 00405E02 (關(guān)鍵CALL,用來判斷用戶輸入的注冊(cè)碼是否正確)   0045123D JZ 004572E6 (!!!<--此為關(guān)鍵跳轉(zhuǎn),如果用戶輸入的注冊(cè)碼正確,就跳向成功處,即004572E6處)   0045XXXX YYYYYYYYYY   XXXXXXXX YYYYYYYYYY   XXXXXXXX YYYYYYYYYY   XXXXXXXX 執(zhí)行到此處,就提示用戶注冊(cè)失敗   ..提示用戶注冊(cè)碼不正確等相關(guān)信息   ...   004572E6 ... <--(注冊(cè)成功處!!!)   ...提示用戶注冊(cè)成功等相關(guān)信息   呵呵,看明白了嗎?沒有的話,我來給你講一下。在軟件執(zhí)行到00451239處的時(shí)候,CALL置0045E02處來進(jìn)行注冊(cè)碼判斷。接著回來后就來一個(gè)跳轉(zhuǎn)語句,即如果用戶輸入的注冊(cè)碼正確就跳到004572E6處,跳到此處,就算是注冊(cè)成功了。如果用戶輸入的注冊(cè)碼不正確的話,那么就不會(huì)在0045123D處進(jìn)行跳轉(zhuǎn),而一直執(zhí)行下去。在下面等它的,是注冊(cè)失敗部分。   想明白了嗎?嘿嘿...沒錯(cuò),我們只要把那個(gè)關(guān)鍵跳轉(zhuǎn)JZ給改為JNZ(如果用戶輸入的注冊(cè)碼錯(cuò)誤,就注冊(cè)成功,輸入正確則注冊(cè)失敗)。當(dāng)然你也可以將JNZ修改為Jmp,這樣的話,你輸入的注冊(cè)碼無論正確與否。都可以注冊(cè)成功。   no.2   我們?cè)賮碇v一下另外的一種情況:   00451239 CALL 00405E02 (關(guān)鍵CALL,用來判斷用戶輸入的注冊(cè)碼是否正確)   0045123D JNZ 004572E6 (!!!<--此為關(guān)鍵跳轉(zhuǎn),如果用戶輸入的注冊(cè)碼不正確,就跳向失敗處,即004572E6處)   0045XXXX YYYYYYYYYY   XXXXXXXX YYYYYYYYYY   XXXXXXXX YYYYYYYYYY   XXXXXXXX 執(zhí)行到此處,就提示用戶注冊(cè)成功   ...提示用戶注冊(cè)成功等相關(guān)信息   ...   004572E6 ... <--(注冊(cè)失敗處!!!)   ...提示用戶注冊(cè)碼不正確等相關(guān)信息   你一定看出跟第一種情況不同的地方了吧。沒錯(cuò)!它與第一種不同的,就是第一種情況是如果注冊(cè)碼正確,就跳到注冊(cè)成功處,如果沒有跳走,就會(huì)執(zhí)行到失敗處。而這一種情況則是如果注冊(cè)碼不正確,就跳到注冊(cè)失敗處,否則將執(zhí)行到注冊(cè)成功處。   這種情況的修改,除了把JNZ改為JZ外,還可以將其改為Nop,Nop這個(gè)指令沒有任何意義,將該條指令修改為Nop后,便可隨意輸入注冊(cè)碼來進(jìn)行注冊(cè)了。   原理以經(jīng)給你講了,下面我們?cè)賮碇v一下具體的修改辦法吧。   先說一下虛擬地址和偏移量轉(zhuǎn)換的問題,在SoftICE和W32Dasm下顯示的地址值是所謂的內(nèi)存地址(memory offset),或稱之為虛擬地址(Virual Address,VA)。   而十六進(jìn)制工具里,如:Hiew、Hex Workshop等顯示的地址就是文件地址,稱之為偏移量(File offset) 或物理地址(RAW offset)。   所以當(dāng)我們要通過那些十六進(jìn)制工具來對(duì)可執(zhí)行文件中的相應(yīng)指令進(jìn)行修改的話,先要找到它的File offset。我們沒有必要去使用那些專門的轉(zhuǎn)換工具,在W32Dasm中就有這個(gè)功能,比如說你W32Dasm中來到0045123D處,在W32Dasm界面下方的狀態(tài)欄中就會(huì)出現(xiàn)該條指令的虛擬地址和偏移地址,即@:0045123D @offset 0005063Dh 后面的這個(gè)0005063Dh就是相應(yīng)的偏移地址。我們得到該地址后,便可用UltraEdit等十六進(jìn)制工具來對(duì)可執(zhí)行文件進(jìn)行修改了。比如使用UltraEdit,你先用UltraEdit打開該可執(zhí)行文件,然后按Ctrl G,接著輸入你得到的偏移地址,就可以來到其相應(yīng)的機(jī)器碼處。   再給你講一下機(jī)器碼,所謂的機(jī)器碼。就是你看到的那些個(gè)十六進(jìn)制數(shù)據(jù)了。還記的它們與匯編指令是一一對(duì)應(yīng)的嗎?   以下這幾個(gè)是爆破時(shí)要用到的,其它的如果感興趣,可自行查看相關(guān)資料:   JZ=74;JNZ=75;JMP=EB;Nop=90   爆破的時(shí)候,只要對(duì)以上機(jī)器碼進(jìn)行相應(yīng)的修改就行了,比如第一種情況的時(shí)候,可以將74修改為EB,即將JZ修改為JMP。而第二種情況,責(zé)需將75修改為90,即將JNZ修改為Nop。   上邊講了爆破的原理,你需要明白的是。爆破只是你學(xué)習(xí)Crack的開始,是很簡(jiǎn)單的手段。剛?cè)腴T的時(shí)候可以玩玩兒,但希望你不要就此不前!   其實(shí)要找到注冊(cè)碼并不是一件多么難的事,我是指你所針對(duì)的軟件不太那個(gè)的時(shí)候 不過你無需懼怕。   剛才我們說爆破的時(shí)候不提到過關(guān)鍵CALL嗎?一般情況下,這個(gè)關(guān)鍵CALL就是對(duì)兩個(gè)注冊(cè)碼(一個(gè)是軟件自身通過你的注冊(cè)名或機(jī)器什么的計(jì)算出來的正確的注冊(cè)碼,令一個(gè)就是你輸入的錯(cuò)誤的注冊(cè)碼)進(jìn)行比較。我前邊提到過,CALL之前一般會(huì)把所用到的數(shù)據(jù)先放到一個(gè)地方,CALL過去的時(shí)候再從這些地方把先前放入的數(shù)據(jù)取出來,進(jìn)行相應(yīng)的處理。這個(gè)關(guān)鍵CALL也是這樣,在CALL之前,一般會(huì)把那兩個(gè)注冊(cè)碼放到堆棧或某個(gè)寄存器中。嘿嘿,我們只要在調(diào)試器中,單步執(zhí)行到該CALL,在未進(jìn)去之前通過CALL之前的指令判斷其將正確的和不正確的注冊(cè)碼放到哪里了。然后再用相應(yīng)指令進(jìn)行查看就成了,我說過不難的。   下面列出兩個(gè)最常見的情況:   no.1   mov eax [ ] 這里可以是地址,也可以是其它寄存器   mov edx [ ] 同上,該條指令也可以是pop edx   call 00?????? 關(guān)鍵call   test eax eax   jz(jnz)或jne(je) 關(guān)鍵跳轉(zhuǎn)   看明白了吧,在關(guān)鍵CALL之前,軟件會(huì)把兩個(gè)注冊(cè)碼分別放入eax和edx中,你只要在CALL處下d eax或d edx就能看到正確的注冊(cè)碼了。   no.2   mov eax [ ] 這里可以是地址,也可以是其它寄存器   mov edx [ ] 同上,該條指令也可以是pop edx   call 00?????? 關(guān)鍵call   jne(je) 關(guān)鍵跳轉(zhuǎn)   以上兩種情況最為常見,而那些個(gè)不太常見的情況,我們這里就不再提了。到下下一章的時(shí)候,我會(huì)給你講相關(guān)方法的...   關(guān)于查找軟件注冊(cè)碼的部分,就到這里。具體內(nèi)容,下下一章咱們?cè)僬f。(不是說了嗎?我以經(jīng)可以接到你的磚頭了,干嘛還要丟呢? )   最后,再來說最后的所謂的高級(jí)階段,如果你相信自己。并且熱愛Crack,那么你一定會(huì)熬到這個(gè)階段的,只是時(shí)間因人而異。   其實(shí)分析軟件的算法,是有好多技巧在里面的。呵呵,最起碼我剛開始的時(shí)候就摸不著頭腦,那么多CALL,每個(gè)看起來,都很重要,都追一遍?結(jié)果連好多API都被追了進(jìn)去。等你自己真正用心分析了一個(gè)軟件的算法,并寫出了注冊(cè)機(jī)后。你就會(huì)明白其中的道理了。

版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實(shí)時(shí)開通

自選配置、實(shí)時(shí)開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對(duì)1客戶咨詢顧問

在線
客服

在線客服:7*24小時(shí)在線

客服
熱線

400-630-3752
7*24小時(shí)客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部