逆向破解之160个CrackMe —— 026
CrackMe —— 026
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
| 编号 | 作者 | 保护方式 |
| 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的更多相关文章
- 逆向破解之160个CrackMe —— 001
CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 002-003
CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 004-005
CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 013
CrackMe —— 013 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 014
CrackMe —— 014 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 016
CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 017
CrackMe —— 017 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 018
CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- HTTP 400 Bad request 原因
我在使用httpclient 发送http请求时遇到问题,请求报 400 Bad request.网上都在说下面这两个原因 400 是 HTTP 的状态码,主要有两种形式: 1.bad request ...
- javascript基础学习第三天
☞ 命名法: 小驼峰命名法 和 大驼峰命名法(帕斯卡命名法) 变量命名规则:遵循小驼峰命名法 [变量名第一个字母小写后面每一个单词的首字母大写] var userNameAge; 函数命名规则:遵循帕 ...
- 关于object对象转换为int类型
注意:不能强制转换!!! Object a; int b = Integer.parseInt(String.valueOf(a));
- 【iOS】Interface Builder 预览
Interface Builder 为最顶层视图提供了 Simulated Metrics,预览用户界面的各种外观设置效果,例如顶部有导航栏或底部有标签栏的效果,如图所示:
- 【pycharm】Pycharm对 axios语法的支持问题
问题: 解决办法: 1,找到pychar的settings 2,ECMAScript6
- [Spring cloud 一步步实现广告系统] 14. 全量索引代码实现
上一节我们实现了索引基本操作的类以及索引缓存工具类,本小节我们开始实现加载全量索引数据,在加载全量索引数据之前,我们需要先将数据库中的表数据导出到一份文件中.Let's code. 1.首先定义一个常 ...
- 利用python自动生成verilog模块例化模板
一.前言 初入职场,一直忙着熟悉工作,就没什么时间更新博客.今天受“利奇马”的影响,只好宅在家中,写写技术文章.芯片设计规模日益庞大,编写脚本成了芯片开发人员必要的软技能.模块端口动不动就几十上百个, ...
- React Native-安卓环境的搭建
最近公司做一个项目,项目中使用React Native(简称RN)来写安卓APP,现在我分享下安卓环境搭建的过程. 我参照https://reactnative.cn/docs/getting-sta ...
- 【linux】【qt5界面】【系统托盘图标的实现】
前言: 博主最近在做一个聊天软件,虽然技术不咋滴,但遇到点干货肯定是要跟大家分享的啦.下面就给大家分享一个qt实现程序隐藏才系统托盘的技巧. 装备: 系统:linux, qt版本:5.9.2,GCC: ...
- Java回收机制概述
Java技术体系中所提倡的 自动内存管理 最终可以归结为自动化地解决了两个问题:给对象分配内存 以及 回收分配给对象的内存,而且这两个问题针对的内存区域就是Java内存模型中的 堆区. 垃圾回收机制的 ...