我的Github:   Github

逆向破解之160个CrackMe —— 022

CrackMe —— 022

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

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

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

来源 <-点击查看

编号 作者 保护方式
022 CarLitoZ Serial(VB5)

 

 

 

工具 

x32dbg

VB Decompiler Pro

开始破解之旅

ON.1

爆破方式

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

 

此时我们看见了有多个字符串,包含正确提示字符串还有一个可以的字符串“C:\\windows\\MTR.dat” 疑似读取文件的地址

我们进入正确提示字符串地址处00402DF7向上查看来到最近的一处跳转处00402DE9处下断点

复制代码
00402DE3 | 8D55 84                  | lea edx,dword ptr ss:[ebp-0x7C]                         | edx:EntryPoint
00402DE6 | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         |
00402DE9 | 0F84 5A010000            | je carlitoz.1.402F49                                    | 判断跳转处
00402DEF | FFD7                     | call edi                                                |
00402DF1 | 8D55 94                  | 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.1.4022D4           | 4022D4:L"Registration Successful"
00402DFE | C745 94 08000000         | mov dword ptr ss:[ebp-0x6C],0x8                         |
00402E05 | FFD7                     | call edi                                                |
复制代码

F9运行,在输入框内输入任意数据,点击REGISTER按钮

此时停在了我们的断点处

我们将00402DE9JE修改为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 ~ 破解成功

 

posted @   寂夜云  阅读(460)  评论(0编辑  收藏  举报
编辑推荐:
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
阅读排行:
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
历史上的今天:
2015-09-01 关于树莓派HDMI转VGA线接显示器黑屏
点击右上角即可分享
微信分享提示