逆向破解之160个CrackMe —— 022
CrackMe —— 022
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
| 编号 | 作者 | 保护方式 |
| 022 | CarLitoZ | Serial(VB5) |
工具
x32dbg
VB Decompiler Pro
开始破解之旅
ON.1
爆破方式
首先使用x32dbg打开022号程序,搜索字符串

此时我们看见了有多个字符串,包含正确提示字符串还有一个可以的字符串“C:\\windows\\MTR.dat” 疑似读取文件的地址
我们进入正确提示字符串地址处00402DF7向上查看来到最近的一处跳转处00402DE9处下断点
00402DE3 | 8D55 | lea edx,dword ptr ss:[ebp-0x7C] | edx:EntryPoint
00402DE6 | 8D4D C4 | lea ecx,dword ptr ss:[ebp-0x3C] |
00402DE9 | 0F84 5A010000 | je carlitoz..402F49 | 判断跳转处
00402DEF | FFD7 | call edi |
00402DF1 | 8D55 | lea edx,dword ptr ss:[ebp-0x6C] | edx:EntryPoint
00402DF4 | 8D4D D4 | lea ecx,dword ptr ss:[ebp-0x2C] |
00402DF7 | C745 9C D4224000 | mov dword ptr ss:[ebp-0x64],carlitoz..4022D4 | 4022D4:L"Registration Successful"
00402DFE | C745 | mov dword ptr ss:[ebp-0x6C],0x8 |
00402E05 | FFD7 | call edi |
F9运行,在输入框内输入任意数据,点击REGISTER按钮
此时停在了我们的断点处

我们将00402DE9处JE修改为NOP

bingo ~ 破解成功
ON.2
追码方式
我们使用VB Decompiler Pro打开022号程序
在下图中我们看到了注册码的生成方式

现在我们要知道abt.Lable1.Caption是什么
我们打开Project->Forms->abt下我们看到窗体的Caption为“About”

我们点击程序的About

看到了我们的提示信息,但是此时看到所有的字符才90多个,哪来的一百多个呢
我们在VB Decompiler Pro中找到提示信息处

看到了中间相隔很多个空格,一共123个空格
register = "bPe CrackMe v1.0" + " " * 123 + "This CrackMe it`s to trainer your VB cracking ability" + " " * 123 + "Developed by CarLitoZ"
print(register[5:6] + register[8:9] + register[142:143] + register[15:16] + register[160:161] + register[170:171] + register[165:166] + register[167:168])
求出结果为“rkh1oyie”
输入到文本框内,点击REGISTER按钮

bingo ~ 破解成功
逆向破解之160个CrackMe —— 022的更多相关文章
- 逆向破解之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 ...
随机推荐
- ASP.NET Core 中的 依赖注入介绍
ASP.NET Core 依赖注入 HomeController public class HomeController : Controller { private IStudentReposito ...
- 公告&留言板
这里是公告&留言板.无意义的评论可能会被删除. 2019.10.4 感觉开学之后状态一直都布星啊,可能会在博客里总结一些前面学的东西. 2019.10.14 咕咕咕咕咕咕咕咕 2019.10. ...
- win7 64位平台编译的程序在XP 32位平台无法运行的解决方法
win7 64位平台编译的程序在XP 32位平台无法运行的解决方法 vs2010的开发环境,制作了一个DLL库.但DLL在XP 32位平台一直无法使用.解决方法如下: 右键项目,属性->配置属性 ...
- [LeetCode] 189. Rotate Array 旋转数组
Given an array, rotate the array to the right by k steps, where k is non-negative. Example 1: Input: ...
- 消息队列:RabbitMQ安装
1. 安装RabbitMQ之前需要先安装Erlang环境 然后配置环境变量 2. 安装完后 我们进入到我们安装到 sbin目录C:\Program Files\RabbitMQ Server\rabb ...
- .NET Core应用中使用分布式缓存及内存缓存
.NET Core针对缓存提供了很好的支持 ,我们不仅可以选择将数据缓存在应用进程自身的内存中,还可以采用分布式的形式将缓存数据存储在一个“中心数据库”中.对于分布式缓存,.NET Core提供了针对 ...
- Linux 启动数据库报错:could not open parameter file init**.ora
sqlplus /nolog.conn /as sysdba.startup命令后显示 SQL> startupORA-01078: failure in processing system p ...
- aicoder实习svn内部培训教程
1 svn介绍 都已经用了git,为什么还要介绍svn呢?为了让aicoder.com的学员能够掌握多种的源代码管理工具的使用方法,更快的融入到项目开发中,特整理此文档. 1.1 项目管理中的版本控制 ...
- Eclipse JAX-RS (REST Web Services) 2.0 requires Java 1.6 or newer
pom.xml文件中添加: <build> <plugins> <plugin> <groupId>org.apache.maven.plugins&l ...
- pandas的使用(6)离散化和合并
pandas的使用(6)离散化和合并