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

逆向破解之160個CrackMe —— 026

CrackMe —— 026

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

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

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

來源 <-點選檢視

編號 作者 保護方式
026 Colormaster Name/Serial(VB5)

 

 

 

工具 

x32dbg

KeyMake

開始破解之旅

ON.1

爆破方式

首先使用x32dbg開啟026號程式,右鍵搜尋字串 

這裡我們看到了正確資訊提示符,地位為00403745

進入該地址,向上翻看來到最近的一個跳轉處 

 該跳轉當暫存器ZF=0時發生跳轉,跳轉到正確提示資訊,我們將004036EB地址處的JE修改為NOP,F9執行,在輸入框內輸入任意資料

 bingo ~ 破解成功

ON.2

記憶體補丁方式

繼續向上翻看程式碼,此時我們在x32dbg中看到一個字串對比函式

0040369C | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         |
0040369F | FFD6                     | call esi                                                |
004036A1 | 50                       | push eax                                                |  在此處下斷點
004036A2 | FF15 74104000            | call dword ptr ds:[<&__vbaStrCmp>]                      |  字串對比函式
004036A8 | 8BF0                     | mov esi,eax                                             |
004036AA | 8D45 C4                  | lea eax,dword ptr ss:[ebp-0x3C]                         |
004036AD | 8D4D D8                  | lea ecx,dword ptr ss:[ebp-0x28]                         |
004036B0 | 50                       | push eax                                                |
004036B1 | 8D55 C8                  | lea edx,dword ptr ss:[ebp-0x38]                         |
004036B4 | 51                       | push ecx                                                |
004036B5 | F7DE                     | neg esi                                                 |
004036B7 | 8D45 CC                  | lea eax,dword ptr ss:[ebp-0x34]                         |
004036BA | 52                       | push edx                                                |
004036BB | 8D4D D4                  | lea ecx,dword ptr ss:[ebp-0x2C]                         |
004036BE | 50                       | push eax                                                |
004036BF | 1BF6                     | sbb esi,esi                                             |
004036C1 | 8D55 D0                  | lea edx,dword ptr ss:[ebp-0x30]                         |
004036C4 | 51                       | push ecx                                                |
004036C5 | 46                       | inc esi                                                 |
004036C6 | 52                       | push edx                                                |
004036C7 | 6A 06                    | push 0x6                                                |
004036C9 | F7DE                     | neg esi                                                 |
004036CB | FF15 C4104000            | call dword ptr ds:[<&__vbaFreeStrList>]                 |
004036D1 | 8D45 B0                  | lea eax,dword ptr ss:[ebp-0x50]                         |
004036D4 | 8D4D B4                  | lea ecx,dword ptr ss:[ebp-0x4C]                         |
004036D7 | 50                       | push eax                                                |
004036D8 | 8D55 B8                  | lea edx,dword ptr ss:[ebp-0x48]                         |
004036DB | 51                       | push ecx                                                |
004036DC | 52                       | push edx                                                |
004036DD | 6A 03                    | push 0x3                                                |
004036DF | FF15 20104000            | call dword ptr ds:[<&__vbaFreeObjList>]                 |
004036E5 | 83C4 2C                  | add esp,0x2C                                            |
004036E8 | 66:85F6                  | test si,si                                              |
004036EB | 0F84 AB000000            | je colormaster.40379C                                   |
004036F1 | 8B35 D4104000            | mov esi,dword ptr ds:[<&__vbaVarDup>]                   |
004036F7 | B9 04000280              | mov ecx,0x80020004                                      |

我們在004036A1處下斷點,F9執行,點選check it按鈕,此時停在了我們的斷點處

0040369A | 8BD0                     | mov edx,eax                                             | edx:L"55493CDCDD8599459-CM", eax:L"55493CDCDD8599459-CM"
0040369C | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         | [ebp-3C]:L"55493CDCDD8599459-CM""
0040369F | FFD6                     | call esi                                                |
004036A1 | 50                       | push eax                                                | eax:L"55493CDCDD8599459-CM"
004036A2 | FF15 74104000            | call dword ptr ds:[<&__vbaStrCmp>]                      |
004036A8 | 8BF0                     | mov esi,eax                                             | eax:L"55493CDCDD8599459-CM"
004036AA | 8D45 C4                  | lea eax,dword ptr ss:[ebp-0x3C]                         | [ebp-3C]:L"55493CDCDD8599459-CM"
004036AD | 8D4D D8                  | lea ecx,dword ptr ss:[ebp-0x28]                         | [ebp-28]:L"1234"3CDCDD8599459-CM"
004036B0 | 50                       | push eax                                                | eax:L"55493CDCDD8599459-CM"
004036B1 | 8D55 C8                  | lea edx,dword ptr ss:[ebp-0x38]                         | [ebp-38]:L"55493CDCDD8599459"CM"
004036B4 | 51                       | push ecx                                                | ecx:&L"55493CDCDD8599459-CM"

此時我們看到eax處有一處可疑字串,我們將該字串填入Serial框內,點選按鈕

bingo ~註冊碼確認無疑

開啟我們的KeyMake,新增以下資料

 生成...

開啟我們生成的註冊機,輸入任意Name,點選按鈕

叮咚~ 註冊碼彈了出來,破解成功

&n