我的Github:   Github

逆向破解之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,点击按钮

叮咚~ 注册码弹了出来,破解成功

 

posted @ 2019-09-04 10:41  寂夜云  阅读(624)  评论(0编辑  收藏  举报