乐趣区

CrackMe006 | 160个crackme精解系列(图文+视频+注册机源码)

作者:逆向驿站微信公众号:逆向驿站知乎:逆向驿站

crackme006, 依然是 delphi 的,而且没壳子,条线比较清晰,算法也不难,非常适合新入门的来练习. 快过年了,Crackme 系列年前就停更在 006 吧,祝大家新年 666 , 年后继续

准备
【环境和工具】

win7/xp 虚拟机环境
CrackMe006(aLoNg3x.1.exe)
ollydbg
Dededark

【学习层次】

逆向分析程序验证流程逻辑
解密算法,写注册机
积累 Delphi 程序逆向特点经验

实战图文
最终效果展示

程序验证流程逻辑图

动态分析
1. 程序观察
旁边既然有个 help, 我们当然要看了,四个弹框,有实际信息价值的是头两个,如图大体意思是,这个 crackme 的最终目标是隐藏 ok 和 cancella 按钮来观看完整的 Ringzero logo。
2. 控件 ID,事件函数信息依然老规矩,既然是 delphi 的程序,我们就先用 dededark 给控件信息和事件函数信息搜集出来
3. 控件 ID 常量搜索法,打开入手点程序开始是 ok 按钮是禁用状态,cancella 按钮是可以点击的,那么我们就从 cancella 入手,两个方向,你可以去找 cancellaclick 事件的函数入手,也可以从 cancella 控件 ID 入手,我这里选择后者,因为最终目的是 cancella 要被隐藏起来,无论如何一定会用到控件 ID
查找→所有常量→2D0(cancella 按钮控件 ID),结果如下一共有四个地方用到了这个控件 ID, 我们分别跟入查看哪个是我们想找的隐藏这个控件的反汇编代码,从上至下依次如下找到了入手点,我们开始上下阅读函数块,发现这正是 cancellaclick 事件函数
4. 分析 Cancellaclick 中算法在 Cancellaclick 函数入口处下断点,然后用户名输入 123456, 注册码输入 654321, 然后开始动态调试分析,F8 步过分析如下图 F7 跟如算法 call 仔细分析,如下图这种不是摘要 hash 的,是直接可以逆推计算出注册码,根据以上算法的反汇编分析,写出逆推注册码的源码,如下
例如我们输入的用户名是 123456,逆推注册码计算如下

“123456” 的第五个字符是 ”5″,asc 码是 53,即十六进制 0x35
除以 7 余数是 4,再加 2 是 6
6 的阶乘是 6 5 4 3 2 *1,等于 720,即十六进制的 0x2D0
123456 每个字符的 asc 码相加是 0x31+0x32+0x33+0x34+0x35+0x36, 结果是 0x135
0x135 乘以 0x2D0 是 0x36510
0x36510 比注册码的十六进制形态大 0x7A69
即注册码是 0x36510-0x7A69 = 0x2EAA7 , 即十进制是 191143

算出了注册码,我们来测试一下,如下动图 Cancella 按钮消失
5. 分析 OK 按钮中算法有了如上的过程作为经验,我们 ” 依葫芦画瓢 ”, 来进行 ok 按钮中的算法分析,依然是 okClick 事件入口下断,F8 动态分析,结果如下 F7 跟如算法 call 仔细分析,如下图分析后发现,这个算法是根据已经算出的注册码,再次要求用户名合规,算法并不难,而且很敏感的看到 0x41,0x41 对应的 asc 字符是大写字母 A, 而 0x41 加上的数字的取值范围是 0 -0x19, 即十进制 0 -25, 那一看就知道,就是 26 个大写字母范围内了,这时候你可以变态的暴力枚举也行,当然这个也是可以逆推出来,我们还是选择逆推吧。源码如下
我们刚输入的注册码是 191143,逆推出用户名应该是 ”BXDEUG”, 验证如下动图 OK 按钮消失,至此全部搞定, 是不是感觉不难,去网盘中下载,试试吧
补充知识点
再 CancellaClick 事件算法中,有个阶乘计算,函数内部反汇编代码如下,可以作为知识点积累,下次看到这个第一时间就能反应过来,提高效率,逆向的老手往往是这种知识碎片很多,而且脑部搜索算法很精准
最后,喜欢这里的请推荐给你身边的朋友吧(渗透测试、逆向破解、病毒分析、信息安全等)

文章中涉及软件、课件、源码等均在网盘,为避免网盘链接失效,公众号中回复:网盘
欢迎关注微信公众号:逆向驿站
相关文章
● CrackMe-005 精解(下)
● CrackMe-005 精解(上)
● CrackMe-004 精解
● CrackMe-003 精解
● CrackMe-002 精解
● CrackMe-001 精解
本期标签:dededark|delphi 反汇编 |crackme|crackme6|crackme06

退出移动版