CrackMe —— 002

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

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

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

来源 <-点击查看

编号 作者 保护方式
002 Afkayas Name/Serial(VB5)
003 Afkayas Nag,Name/Serial(VB5)

工具

x32dbg

KeyMake

开始破解之旅

ON.1

使用x32dbg打开002号程序,运行

在输入框输入任意数据,点击按钮 OK ,弹出窗口

爆破方式

搜索字符串 “Try Again”点进地址向上查看,在 0040258B处下断点 ,这里是逻辑正确跳转处

0040258B | 74 58                    | je afkayas.1.4025E5                     |
0040258D | 68 801B4000 | push afkayas.1.401B80 | 401B80:L"You Get It"
00402592 | 68 9C1B4000 | push afkayas.1.401B9C | 401B9C:L"\r\n"
00402597 | FFD7 | call edi |
00402599 | 8BD0 | mov edx,eax |
0040259B | 8D4D E8 | lea ecx,dword ptr ss:[ebp-0x18] |
0040259E | FFD3 | call ebx |
004025A0 | 50 | push eax |
004025A1 | 68 A81B4000 | push afkayas.1.401BA8 | 401BA8:L"KeyGen It Now"
004025A6 | FFD7 | call edi |
004025A8 | 8D4D 94 | lea ecx,dword ptr ss:[ebp-0x6C] |
004025AB | 8945 CC | mov dword ptr ss:[ebp-0x34],eax |
004025AE | 8D55 A4 | lea edx,dword ptr ss:[ebp-0x5C] |
004025B1 | 51 | push ecx |
004025B2 | 8D45 B4 | lea eax,dword ptr ss:[ebp-0x4C] |
004025B5 | 52 | push edx |
004025B6 | 50 | push eax |
004025B7 | 8D4D C4 | lea ecx,dword ptr ss:[ebp-0x3C] |
004025BA | 6A 00 | push 0x0 |
004025BC | 51 | push ecx |
004025BD | C745 C4 08000000 | mov dword ptr ss:[ebp-0x3C],0x8 |
004025C4 | FF15 10414000 | call dword ptr ds:[<&rtcMsgBox>] |
004025CA | 8D4D E8 | lea ecx,dword ptr ss:[ebp-0x18] |
004025CD | FF15 80414000 | call dword ptr ds:[<&__vbaFreeStr>] |
004025D3 | 8D55 94 | lea edx,dword ptr ss:[ebp-0x6C] |
004025D6 | 8D45 A4 | lea eax,dword ptr ss:[ebp-0x5C] |
004025D9 | 52 | push edx |
004025DA | 8D4D B4 | lea ecx,dword ptr ss:[ebp-0x4C] |
004025DD | 50 | push eax |
004025DE | 8D55 C4 | lea edx,dword ptr ss:[ebp-0x3C] |
004025E1 | 51 | push ecx |
004025E2 | 52 | push edx |
004025E3 | EB 56 | jmp afkayas.1.40263B |
004025E5 | 68 C81B4000 | push afkayas.1.401BC8 | 401BC8:L"You Get Wrong"
004025EA | 68 9C1B4000 | push afkayas.1.401B9C | 401B9C:L"\r\n"
004025EF | FFD7 | call edi |

再次点击 OK 按钮,此时停在断点处,ZF 标志位为 ,双击改变标志位为,F9 运行

出现正确提示,修改 je 4025E5 为 NOP 保存,输入任意数据,点击按钮,显示正确弹窗。

注册机方式

此处需要选择宽字符串

      

CrackMe —— 003

ON.1

使用x32dbg打开003号程序,运行

出现了两个窗口

左边的窗口是要Kill掉的,右边的则需要我们来爆破

ON.2

这里使用4C方法来破解NAG窗口

来到入口点

00401170 | 68 D4674000              | push afkayas.2.4067D4                   |
00401175 | E8 F0FFFFFF | call <JMP.&ThunRTMain> |
0040117A | 0000 | add byte ptr ds:[eax],al |

第一个push处转到内存窗口,内存窗口地址为004067D4 ,4C就是这个地址加上4C

右键转到->表达式

此时跳转到00406820地址处

00406820  68 68 40 00 CC 67 40 00 7C 11 40 00 68 00 00 00  hh@.Ìg@.|.@.h...

在该地址处右键“在当前内存窗口中转到指定DWORD”

此时在 和004048D8处各有两个标志位,该标志位代表了程序加载窗口的启动顺序,先加载后加载,就是我们要去除的NAG窗口,将两个标志位颠倒,便可以达到去除NAG窗口的效果。

绕过验证方法和002相同  ( ̄▽ ̄)~*

逆向破解之160个CrackMe —— 002-003的更多相关文章

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

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

  2. 逆向破解之160个CrackMe —— 004-005

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

  3. 逆向破解之160个CrackMe —— 013

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

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

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

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

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

  6. 逆向破解之160个CrackMe —— 017

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

  7. 逆向破解之160个CrackMe —— 018

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

  8. 逆向破解之160个CrackMe —— 025

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

  9. 逆向破解之160个CrackMe —— 026

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

随机推荐

  1. F#周报2019年第28期

    新闻 FableConf门票开始贩售 Bolero的HTML模板支持热加载 Bolero从v0.4到v0.5的升级指南 完整的SAFE-Chat迁移至了Fable 2 为纯函数式3D图形生成领域专用语 ...

  2. ASP.NET Core Web Api之JWT(一)

    前言 最近沉寂了一段,主要是上半年相当于休息和调整了一段时间,接下来我将开始陆续学习一些新的技术,比如Docker.Jenkins等,都会以生活实例从零开始讲解起,到时一并和大家分享和交流.接下来几节 ...

  3. JAVA接口的继承与集合

    复习 20190701 接口补充 一. java是单继承多实现 单继承: 一个类只能有一个父类 public class D extends D1 { } 2. 多实现 一个类可以同时实现多个接口 当 ...

  4. P2822组合数问题

    组合数问题(NOIP2016提高组Day2T1) Time Limit:1000MS  Memory Limit:512000K [题目描述] 组合数表示的是从n个物品中选出m个物品的方案数.举个例子 ...

  5. Android使用webService(发送xml数据的方式,不使用jar包)

    Android使用webService可以用ksoap2.jar包来使用.但是我觉得代码不好理解,而且记不住. 所以我查询了好多资料,以及自己的理解.可以用代码发送http请求(发送xml数据)来访问 ...

  6. Y服务-你真的懂 Yaml 吗

    目录 一.什么是 Yaml 二.Yaml 的语法 三.操作 Yaml A. 引入框架 B. 代码片段 C. 完整案例 参考文档 在Java 的世界里,配置的事情都交给了 Properties,要追溯起 ...

  7. 在Linux上安装JDK8-教程

    xl_echo编辑整理.欢迎添加echo微信(微信号:t2421499075)交流学习. 百战不败,依不自称常胜,百败不颓,依能奋力前行.--这才是真正的堪称强大!! --- > 这里使用的服务 ...

  8. CentOS 下配置JDK

    从官网上下载jdk到系统中,并解压好 tar –axvf jdk.tr.gz 1. PATH环境变量.作用是指定命令搜索路径,在shell下面执行命令时,它会到PATH变量所指定的路径中查找看是否能找 ...

  9. 算法-一步步教你如何用c语言实现堆排序(非递归)

    看了左神的堆排序,觉得思路很清晰,比常见的递归的堆排序要更容易理解,所以自己整理了一下笔记,带大家一步步实现堆排序算法 首先介绍什么是大根堆:每一个子树的最大值都是子树的头结点,即根结点是所有结点的最 ...

  10. java - tcp如何保证传输的可靠性和有序性

    TCP提供的是一种面向连接的,可靠性的字节流服务. 可靠性: 1.应用数据被TCP划分为最适合发送的数据包: 2.在TCP发送一个数据块后,将启动一个定时器,用以接收目的端的确认信息,若不能及时得到确 ...