天天看點

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

一、取消NEG視窗(welcome to....)

輕按兩下該程式,出現歡迎詞welcome to...。

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 點選确定,出現如下圖所示

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

将該程式用OllyDbg打開

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 右擊-中文搜尋引擎-智能搜尋

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

出現中文搜尋引擎,向下滑動,可以找到welcome to...等字元串

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 1、輕按兩下第一個Try again!向上找可以找到一條跳躍語句,跳-失敗,不跳-成功

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 爆破右:擊用nop填充

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial
OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 向上找到函數頭并下斷

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 2、傳回中文搜尋引擎找到第二個Try again!輕按兩下

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 向上找到函數頭,下斷

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 3、輕按兩下第三個Try again!向上找可以找到一條跳躍語句,跳過正确的直接到錯誤的

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 右擊用nop填充 

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

向上找發現第二個和第三個是同一個函數頭

4、傳回中文搜尋引擎找到welcome to輕按兩下在函數頭下斷,點選運作,斷下

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 第一行,右鍵,反彙編視窗中跟随

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial
OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 将JE改為JMP,永遠跳過NEG

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 5、儲存

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 再右鍵儲存檔案

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 打開儲存的檔案,不彈出NEG

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

二、Name/Serial:

POJIE:

将上一步得到的程式用od(管理者身份)再次打開,點選運作,點選Name/Serial

右擊-中文搜尋引擎-智能搜尋,找到該語句,發現有兩條

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

一條一條驗證,先點選第一條,左邊跳到該位址,向上翻,找到調用該函數的起始位置,0042F9A9 push ebp下斷點,運作程式,多次F8步入,發現跳過了第一條,說明不是這一條,那就說明是第二條,點選第二條Sorry位置,可以看到上面有一個注冊成功的位置,同樣找到起始位置,0042F9A9 push ebp下斷點,運作程式,多次F8步入,發現一條jnz XAcid_bur.0042F81F跳過語句

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 方法一:右邊z辨別位是0,将它設定為1,運作,單步注入,會發現成功了。

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 方法二:不讓跳轉執行,nop填充jnz語句,在上一句call語句下斷點,運作,下斷點,會發現無論輸入什麼都會成功,成功。

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

找到正确的注冊碼:

打開一個程式,在jnz上面語句下斷點,運作,輸入資訊check

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 發現上面兩條語句,EDX是自己輸入的,EAX可能是真正的注冊碼:CW-4018-CRACKED

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 發現CW和CRACKED都是固定的,隻有4018是運算出來的

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 到上面找到起始位置,設定斷點,運作,點選check。F8單步注入,在調試的過程中發現

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 Call位址是計算出4018的地方,下斷點,運作,check

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 到了起始位置,點運作,到了call斷點,進入函數體,發現隻有一個函數,進入,

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 這6個函數,其中有一個會計算出4018

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

 逐漸嘗試這6個函數是哪個輸出了4018(進入函數,單步注入,觀察結果)

經驗證發現,當使用者名是以123456開頭的,注冊碼都是CW-4018-CRACKED

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial
OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

三、Serial

同Name/Serial一樣,找到提示語句,将其Nop掉,就不會調到Failed這

OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial
OllyDbg分析crackme-AcidBurn一、取消NEG視窗(welcome to....)二、Name/Serial:三、Serial

繼續閱讀