CrackMe —— 026

160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序

CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。

CrackMe简称CM。
程序下载地址:点击我

来源 <-点击查看

编号 作者 保护方式
026 Colormaster Name/Serial(VB5)

工具

x32dbg

KeyMake

开始破解之旅

ON.1

爆破方式

首先使用x32dbg打开026号程序,右键搜索字符串

这里我们看到了正确信息提示符,地位为

进入该地址,向上翻看来到最近的一个跳转处

该跳转当寄存器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 | | push eax | 在此处下断点
004036A2 | FF15 | 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 | | push eax |
004036B1 | 8D55 C8 | lea edx,dword ptr ss:[ebp-0x38] |
004036B4 | | push ecx |
004036B5 | F7DE | neg esi |
004036B7 | 8D45 CC | lea eax,dword ptr ss:[ebp-0x34] |
004036BA | | push edx |
004036BB | 8D4D D4 | lea ecx,dword ptr ss:[ebp-0x2C] |
004036BE | | push eax |
004036BF | 1BF6 | sbb esi,esi |
004036C1 | 8D55 D0 | lea edx,dword ptr ss:[ebp-0x30] |
004036C4 | | push ecx |
004036C5 | | inc esi |
004036C6 | | push edx |
004036C7 | 6A | 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 | | push eax |
004036D8 | 8D55 B8 | lea edx,dword ptr ss:[ebp-0x48] |
004036DB | | push ecx |
004036DC | | push edx |
004036DD | 6A | push 0x3 |
004036DF | FF15 | call dword ptr ds:[<&__vbaFreeObjList>] |
004036E5 | 83C4 2C | add esp,0x2C |
004036E8 | :85F6 | test si,si |
004036EB | 0F84 AB000000 | je colormaster.40379C |
004036F1 | 8B35 D4104000 | mov esi,dword ptr ds:[<&__vbaVarDup>] |
004036F7 | B9 | 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""3CDCDD8599459-CM"
004036B0 | | push eax | eax:L"55493CDCDD8599459-CM"
004036B1 | 8D55 C8 | lea edx,dword ptr ss:[ebp-0x38] | [ebp-]:L"55493CDCDD8599459"CM"
004036B4 | 51 | push ecx | ecx:&L"55493CDCDD8599459-CM"

此时我们看到eax处有一处可疑字符串,我们将该字符串填入Serial框内,点击按钮

bingo ~注册码确认无疑

打开我们的KeyMake,添加以下数据

生成...

打开我们生成的注册机,输入任意Name,点击按钮

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

逆向破解之160个CrackMe —— 026的更多相关文章

  1. 逆向破解之160个CrackMe —— 001

    CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  2. 逆向破解之160个CrackMe —— 002-003

    CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  3. 逆向破解之160个CrackMe —— 004-005

    CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. 逆向破解之160个CrackMe —— 013

    CrackMe —— 013 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  5. 逆向破解之160个CrackMe —— 014

    CrackMe —— 014 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  6. 逆向破解之160个CrackMe —— 016

    CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  7. 逆向破解之160个CrackMe —— 017

    CrackMe —— 017 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  8. 逆向破解之160个CrackMe —— 018

    CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  9. 逆向破解之160个CrackMe —— 025

    CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

随机推荐

  1. 关于JS、JQ首行首列固定展示

    当时遇见这个问题 是医院手麻系统大批量数据展示,由于是旧项目系统没有使用到前端的架构 只能使用JQ,JS, css完成 也谢谢给予我支持的同行们 固定首行数据: 采用函数的方式进行  JQ /** * ...

  2. 【JDK】JDK源码分析-LinkedList

    概述 相较于 ArrayList,LinkedList 在平时使用少一些. LinkedList 内部是一个双向链表,并且实现了 List 接口和 Deque 接口,因此它也具有 List 的操作以及 ...

  3. 【Algorithm】选择排序法

    简单的选择排序法思想: * 首先找到数组中最小的元素,将它和数组第一个元素互换位置(如果第一个元素就是最小那么它就和自己交换). * 其次,在剩下的元素中找到最小的元素,将它与数组的第二个元素互换位置 ...

  4. 【SVN】SVN Working copy is too old

    前天在使用 SVN 客户端 CornerStone 的时候遇到了这个问题,代码不能提交了…… 遇到这个问题的时候怎么办? 解决办法: 找到报错对应的文件夹,里面有个 .svn 的文件夹,去掉再 com ...

  5. 使用log4net记录ABP日志

    demo地址:ABP.WindowsService 该文章是系列文章 基于.NetCore和ABP框架如何让Windows服务执行Quartz定时作业 的其中一篇. 参考:https://aspnet ...

  6. git删除分支步骤

    在本地删除一个分支: git branch -D <本地分支> 在github远程端删除一个分支: git push origin :<远程端分支> 唯一不同的就是冒号代表了删 ...

  7. .net core开发从未如此简单,比abp更接地气

    在谈起java一家独大的时候,dotnet人员总是一边嘲笑大量滥竽充数的java从业者,一边羡慕人家的生态.以前是只能羡慕,现在dotnet core开源了,我们都可以为dotnet core的开原生 ...

  8. Django REST framework的使用简单介绍

    官方文档:https://www.django-rest-framework.org/ GitHub源码:https://github.com/encode/django-rest-framework ...

  9. 认识 tomcat 被占用问题

    (1) Server 中的 port 该端口为tomcat使用jvm的端口,必须保证唯一性,否则tomcat启动不成功: (2) Connector 中的 port 该端口为tomcat中所有web应 ...

  10. 【C++】string::find函数

    int vis=a.find(b):从string a开头开始查找第一个遇到的string b,返回string a中所匹配字符串的第一个字符的下标位置,找不到则返回-1. int vis=a.fin ...