CrackMe —— 021

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

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

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

来源 <-点击查看

编号 作者 保护方式
021 Cabeca Name/Serial1/Serial2(Delphi)

工具

x32dbg

VB Decompiler Pro

开始破解之旅

ON.1

爆破方式

我们首先使用VB Decompiler Pro 打开021号程序,点击Procedures ->Events 我们在下方窗口内看见两个事件函数,一个是输入触发的事件一个是按钮点击的事件

我们记下按钮点击事件的地址0042D3C4

使用x32dbg打开程序在004D3C4处下断,在程序输入框内输入任意数据,点击按钮,程序停在了断点处

单步F8向下运行

此时我们停在了0042D4AA处,看到程序跳过正确提示符处,我们将0042D4AA处JNE修改为NOP继续单步向下

继续单步向下来到了下一个跳转处,看到红色的线跳过了正确提示处,我们将0042D4D4处JNE修改为NOP,F9运行

bingo ~ 破解成功

ON.2

追码方式

我们在窗口内输入以下数据

Name : lonenysky

Serial 1 : 1234567

Serial 2 : 1234567

在之前的按钮事件处下断,下断后点击Try按钮,F8单步向下

当我们经过0042D48A地址处时,计算出一个字符串,该字符串疑似第一个注册码

0042D480 | 74 63                    | je cabeca.42D4E5                                        |
0042D482 | 8D55 F0                  | lea edx,dword ptr ss:[ebp-0x10]                         | [ebp-10]:"43951"
0042D485 | A1 14F74200              | mov eax,dword ptr ds:[0x42F714]                         |
0042D48A | E8 C190FDFF              | call <cabeca.sub_406550>                                |
0042D48F | 8B45 F0                  | mov eax,dword ptr ss:[ebp-0x10]                         | [ebp-10]:"43951"
0042D492 | 50                       | push eax                                                |
0042D493 | 8D55 FC                  | lea edx,dword ptr ss:[ebp-0x4]                          | [ebp-4]:"lonenysky"
0042D496 | 8B83 E4010000            | mov eax,dword ptr ds:[ebx+0x1E4]                        |
0042D49C | E8 3FC9FEFF              | call <cabeca.sub_419DE0>                                |
0042D4A1 | 8B55 FC                  | mov edx,dword ptr ss:[ebp-0x4]                          | [ebp-4]:"lonenysky"
0042D4A4 | 58                       | pop eax                                                 |
0042D4A5 | E8 2664FDFF              | call <cabeca.sub_4038D0>                                |
0042D4AA | 75 39                    | jne cabeca.42D4E5                                       |
0042D4AC | 8D55 F0                  | lea edx,dword ptr ss:[ebp-0x10]                         | [ebp-10]:"43951"
0042D4AF | A1 18F74200              | mov eax,dword ptr ds:[0x42F718]                         |
0042D4B4 | E8 9790FDFF              | call <cabeca.sub_406550>                                |
0042D4B9 | 8B45 F0                  | mov eax,dword ptr ss:[ebp-0x10]                         | [ebp-10]:"43951"
0042D4BC | 50                       | push eax                                                |
0042D4BD | 8D55 FC                  | lea edx,dword ptr ss:[ebp-0x4]                          | [ebp-4]:"lonenysky"
0042D4C0 | 8B83 EC010000            | mov eax,dword ptr ds:[ebx+0x1EC]                        |

0042D48A处Call为计算Serial 1的函数

我们将Serial 1处的输入框的内容改为43951,再次点击Try按钮F8单步向下

此时经过0042D4A4地址处时没有发生跳转,说明Serial 1注册码正确,注册码为43951

继续F8向下

此时我们看到在进入0042D4C6地址后计算出一个新的字符串8327疑似我们的Serial 2注册码

0042D4C6 | E8 15C9FEFF              | call <cabeca.sub_419DE0>                                |
0042D4CB | 8B55 FC                  | mov edx,dword ptr ss:[ebp-0x4]                          | [ebp-4]:"123456"
0042D4CE | 58                       | pop eax                                                 | eax:"8327"
0042D4CF | E8 FC63FDFF              | call <cabeca.sub_4038D0>                                |
0042D4D4 | 75 0F                    | jne cabeca.42D4E5                                       |
0042D4D6 | B8 E8D54200              | mov eax,cabeca.42D5E8                                   | eax:"8327", 42D5E8:"Hmmm.... Cracked... Congratulations idiot! :-)"

将Serial 2输入框内修改为8327,确定

bingo ~ 破解成功

转载于:https://www.cnblogs.com/lonenysky/p/11434665.html

逆向破解之160个CrackMe —— 021相关推荐

  1. 逆向破解之160个CrackMe —— 007

    CrackMe -- 007 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  2. 逆向破解之160个CrackMe —— 023-024

    CrackMe -- 023 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  3. 逆向破解之160个CrackMe —— 008-009

    CrackMe -- 008 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  4. 逆向破解之160个CrackMe —— 001

    CrackMe -- 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  5. 逆向破解之160个CrackMe —— 027

    CrackMe -- 027 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...

  6. 视频+图文+注册+机源码 | 160个CrackMe深度解析合集 | 逆向破解入门

    全部合集的获取请关注微信公众号:逆向驿站 回复:160 即可获得其余合集 以下是示例文章 160个CrackMe深度解析合集-001 提倡"刨根问底",拒绝"浅尝辄止&q ...

  7. 【CrackMe 实战】逆向破解实战之 001 Acid burn.exe

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

  8. [反汇编练习] 160个CrackMe之021

    [反汇编练习] 160个CrackMe之021. 本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注 ...

  9. Crackme006 - 全新160个CrackMe学习系列(图文|视频|注册机源码)

    知乎:逆向驿站 原文链接 CrackMe006 | 难度适中适合练手 |160个CrackMe深度解析(图文+视频+注册机源码) crackme006,依然是delphi的,而且没壳子,条线比较清晰, ...

最新文章

  1. 国民认证科技有限公司助力构建我国可信网络空间
  2. boxfilter 函数
  3. ?为什么要学这个技术(有什么优秀的地方,可以解决哪些问题?
  4. 如何在S/4HANA里创建Custom Business object并实现自定义逻辑
  5. irrlicht v1.6 例程18 Splitscreen
  6. mysql和oracle 开源_MySQL和oracle比较
  7. 【Java】基于IDE的JUnit软件测试入门
  8. Linux工作笔记-使用find和grep检索文件或子文件中是否包含指定字符串
  9. 刚刚!2020“中国高被引学者” 榜单发布:清华、北大、浙大位居内地前三!
  10. 0804------算法笔记----------最长公共子序列
  11. 为何高于四次的方程没有根式解?
  12. php include 导航栏,PHP全栈开发(八):CSS Ⅹ 导航栏制作
  13. centos7.5配置ntp时间服务器
  14. Docker制作深度学习镜像常用操作
  15. DSP降噪拾音器 语音增强 噪声抑制器 反馈抑制器
  16. js 排序 字符串内含数字字母特殊符号排序
  17. 《不抱怨的世界》-- 威尔·鲍温(Will Bowen)
  18. android 手机短信恢复,安卓手机短信删除了怎么恢复?简单恢复的方法
  19. 拷贝相关器 matlab,基于MELP的水下实时语音通信机的研究与实现
  20. MongoDB简单学习小总结

热门文章

  1. 中柏平板装深度linux,老司机告诉你中柏电脑能装深度win7系统么
  2. PHP交互MySQL 实现登录注册功能
  3. python导入数据聚类分析实例_聚类分析实战解析与总结 - 数据分析
  4. 程序媛在互联网公司会遭遇哪些性别歧视?
  5. clearInterval不起作用?肯定是用法不对
  6. Service的两种启动方式与区别
  7. vnc viewer手机中文版,超好用的5款vnc viewer手机中文版
  8. 标签打印软件输出PDF文件过大时如何解决?
  9. python游戏库pygame经典教程
  10. Oracle数据库备份常用方法