1. 程式人生 > >逆向破解之160個CrackMe —— 025

逆向破解之160個CrackMe —— 025

CrackMe —— 025

160 CrackMe 是比較適合新手學習逆向破解的CrackMe的一個集合一共160個待逆向破解的程式

CrackMe:它們都是一些公開給別人嘗試破解的小程式,製作 crackme 的人可能是程式設計師,想測試一下自己的軟體保護技術,也可能是一位 cracker,想挑戰一下其它 cracker 的破解實力,也可能是一些正在學習破解的人,自己編一些小程式給自己破。

CrackMe簡稱CM。 程式下載地址:點選我

來源 <-點選檢視

編號 作者 保護方式
025 CodeZero Nag,Serial(VB5)

 

 

 

工具 

x32dbg

VB Decompiler Pro

開始破解之旅

ON.1

第一步我們要去除NAG

首先使用VB Decompiler Pro開啟我們的025號程式 

我們點選Code ->Form1->Form_Load 這裡是載入NAG視窗的地方,點進進入看見了反編譯的VB程式碼

Private Sub Form_Load() '405905
  Dim Me As Me
  loc_00405948: Me.Visible = False
  loc_00405986: Form2.Visible = True
End Sub

在函式名後面有一串數字,該數字是函式的入口地址,我們在x32dbg裡跳轉到該地址

使用x32dbg開啟025號程式,右鍵 轉到->表示式\CTL+G,輸入405905

點選確定

此時來到了我們的函式入口處

我們將push ebp修改為ret,F9執行

bingo~ NAG視窗成功去除

ON.2

爆破方式

右鍵在x32dbg中搜索字串

看到了我們的正確資訊提示符,地址為40577B,雙擊進入該地址

向上翻看,來到最近的一個跳轉處,發現該跳轉跳過了正確提示資訊來到了錯誤提示資訊

0040576B | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         |
0040576E | 74 2A                    | je codezero.1.40579A                                    |  程式跳轉處
00405770 | E8 CDB9FFFF              | call <JMP.&__vbaVarDup>                                 |
00405775 | 8D55 94                  | lea edx,dword ptr ss:[ebp-0x6C]                         |
00405778 | 8D4D D4                  | lea ecx,dword ptr ss:[ebp-0x2C]                         |
0040577B | C745 9C B4264000         | mov dword ptr ss:[ebp-0x64],codezero.1.4026B4           | 4026B4:L"Congratulations! you've really made it :-)"
00405782 | 8975 94                  | mov dword ptr ss:[ebp-0x6C],esi                         |
00405785 | E8 B8B9FFFF              | call <JMP.&__vbaVarDup>                                 |
0040578A | 8D45 A4                  | lea eax,dword ptr ss:[ebp-0x5C]                         |
0040578D | 50                       | push eax                                                |
0040578E | 8D45 B4                  | lea eax,dword ptr ss:[ebp-0x4C]                         |
00405791 | 50                       | push eax                                                |
00405792 | 8D45 C4                  | lea eax,dword ptr ss:[ebp-0x3C]                         |
00405795 | 50                       | push eax                                                |
00405796 | 6A 40                    | push 0x40                                               |
00405798 | EB 28                    | jmp codezero.1.4057C2                                   |
0040579A | E8 A3B9FFFF              | call <JMP.&__vbaVarDup>                                 |
0040579F | C745 9C 10274000         | mov dword ptr ss:[ebp-0x64],codezero.1.402710           | 402710:L"Invalid unlock code, please try again."
004057A6 | 8D55 94                  | lea edx,dword ptr ss:[ebp-0x6C]                         |
004057A9 | 8D4D D4                  | lea ecx,dword ptr ss:[ebp-0x2C]                         |

我們將0040576E處JE修改為NOP,F9執行,在輸入框內輸入任意字元

bingo ~ 破解成功

追碼方式

在次來到我們搜尋字串處,我們看到一個可疑的字串“55555”

我們在輸入框內輸入55555,點選Check按鈕

bingo ~ 破解成功

&n