我的Github:   Github

逆向破解之160个CrackMe —— 006

CrackMe —— 006

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

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

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

来源 <-点击查看

编号 作者 保护方式
006 aLoNg3x Name/Serial(Delphi)

 

 

 

 

工具 

x32dbg

KeyMake

DelphiDecompiler

开始破解之旅

ON.1

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

在这个程序中我们需要让程序界面显示出 Ringzer0 logo

首先我们使用DelphiDecompiler 打开006号程序

Procedures -> Events下我们看到一个CodiceChange的函数从名字中可以得出是注册码改变的意思,我们在00442C78处下断,还有一个NomeChange函数,从名字中可以得出应该是用户名改变的意思,我们在00442E04处下断

ON.2

先在Nome框内敲击任意数据,程序停在了断点处

单步向下,我们发现了有两处跳转,来到第一处跳转,我们把ZF PF 变为1

F9运行

我们发现OK按钮变为了可点击状态,我们将00442E26地址改为NOP,OK按钮变恒为可点击状态

 

在Codice输入框内敲击任意数字,程序停在了断点处

单步F8向下

遇到第一个判断跳转处,我们将ZF反转,F9运行,发现OK按钮变为了灰色,说明注册码输入错误按钮会变为灰色

重新输入数据,停在了断点处,我们继续单步向下,跳过第一个跳转

来到第二个跳转

我们将ZF PF 变为1,F9运行,此时我们发现OK按钮变为了可点击状态

 

00442CD6 地址 修改为NOP,OK按钮变恒为可点击状态

接下来我们在00442D64处下断,从函数名我们可以得知该函数为OK按钮点击事件函数

点击OK,停在了断点处,单步向下

遇到两个跳转我们一次修改寄存器ZF查看窗口变化,经过修改两个跳转后发现OK按钮消失,我们将这两个跳转修改为NOP

按照提示破解是没有完全成功的,Cancella按钮没有消失

我们在清除按钮地址00442EA8处下断

点击Cancella,停在了断点处,单步向下

遇到一个跳转我们一次修改寄存器ZF PF为零F9运行查看窗口变化发现按钮消失,我们将该处跳转修改为NOP

破解成功

ON.3

在x32dbg界面右键->补丁->修补文件->保存 即刻保存成功修改的文件

此处是爆破方式,追码部分大家可以研究一下^_^

 

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