CrackMe —— 025

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

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

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

来源 <-点击查看

编号 作者 保护方式
025 CodeZero Nag,Serial(VB5)

工具

x32dbg

VB Decompiler Pro

开始破解之旅

ON.1

第一步我们要去除NAG

首先使用VB Decompiler Pro打开我们的025号程序

我们点击Code ->Form1->Form_Load 这里是加载NAG窗口的地方,点进进入看见了反编译的VB代码

Private Sub Form_Load() '
Dim Me As Me
loc_00405948: Me.Visible = False
loc_00405986: Form2.Visible = True
End Sub

在函数名后面有一串数字,该数字是函数的入口地址,我们在x32dbg里跳转到该地址

使用x32dbg打开025号程序,右键 转到->表达式\CTL+G,输入

点击确定

此时来到了我们的函数入口处

我们将push ebp修改为ret,F9运行

bingo~ NAG窗口成功去除

ON.2

爆破方式

右键在x32dbg中搜索字符串

看到了我们的正确信息提示符,地址为40577B,双击进入该地址

向上翻看,来到最近的一个跳转处,发现该跳转跳过了正确提示信息来到了错误提示信息

0040576B | 8D4D C4                  | lea ecx,dword ptr ss:[ebp-0x3C]                         |
0040576E | 2A | je codezero..40579A | 程序跳转处
| E8 CDB9FFFF | call <JMP.&__vbaVarDup> |
| 8D55 | lea edx,dword ptr ss:[ebp-0x6C] |
| 8D4D D4 | lea ecx,dword ptr ss:[ebp-0x2C] |
0040577B | C745 9C B4264000 | mov dword ptr ss:[ebp-0x64],codezero..4026B4 | 4026B4:L"Congratulations! you've really made it :-)"
| | mov dword ptr ss:[ebp-0x6C],esi |
| E8 B8B9FFFF | call <JMP.&__vbaVarDup> |
0040578A | 8D45 A4 | lea eax,dword ptr ss:[ebp-0x5C] |
0040578D | | push eax |
0040578E | 8D45 B4 | lea eax,dword ptr ss:[ebp-0x4C] |
| | push eax |
| 8D45 C4 | lea eax,dword ptr ss:[ebp-0x3C] |
| | push eax |
| 6A | push 0x40 |
| EB | jmp codezero..4057C2 |
0040579A | E8 A3B9FFFF | call <JMP.&__vbaVarDup> |
0040579F | C745 9C | mov dword ptr ss:[ebp-0x64],codezero.. | :L"Invalid unlock code, please try again."
004057A6 | 8D55 | lea edx,dword ptr ss:[ebp-0x6C] |
004057A9 | 8D4D D4 | lea ecx,dword ptr ss:[ebp-0x2C] |

我们将0040576E处JE修改为NOP,F9运行,在输入框内输入任意字符

bingo ~ 破解成功

追码方式

在次来到我们搜索字符串处,我们看到一个可疑的字符串“”

我们在输入框内输入,点击Check按钮

bingo ~ 破解成功

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

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

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

  2. 逆向破解之160个CrackMe —— 002-003

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

随机推荐

  1. Redis(五)--- Redis的持久化RDB与AOF

    一.Redis数据库 我们都知道Redis是基于内存的数据库,数据是以key-value键值对的方式存储的,那么key-value键值对是随意放在内存中的么,其实Redis的服务会创建很多的数据库空间 ...

  2. 动手造轮子:基于 Redis 实现 EventBus

    动手造轮子:基于 Redis 实现 EventBus Intro 上次我们造了一个简单的基于内存的 EventBus,但是如果要跨系统的话就不合适了,所以有了这篇基于 Redis 的 EventBus ...

  3. SSM-员工管理系统Demo---带分页和校验(含源码)

    页面展示: 前端JSP: <%@ page language="java" contentType="text/html; charset=UTF-8" ...

  4. Win常用软件

    本节只适合windows系统 VScode 下载 安装 双击安装 打开目录方式 右键文件夹->使用VSCode打开 命令行打开 code folder [dzlua@win10:~]$ ls a ...

  5. Git 的常用的命令

    之前一直在使用SVN作为版本管理工具,现在项目要求使用Git,下面简单记录一下一些常用的命令.关于原理和使用方式的详细说明,具体教程参考的廖雪峰的git教程. 1. github 账号的申请. 2. ...

  6. 【iOS】copy 关键字

    以前没注意过 iOS 的 copy, nonatomic, assign, weak, strong 等关键字. 偏偏今天遇到了一个问题,恰恰是关键字的问题,如图: 之前用的是 assign, 没有用 ...

  7. 自定义SWT控件四之其它下拉框

    4.其它下拉框 4.1 添加联动二级多选择框(有添加按钮和删除按钮) package com.view.control.select; import java.util.ArrayList; impo ...

  8. 用多线程优化Excel表格数据导入校验的接口

    公司的需求,当前某个Excel导入功能,流程是:读取Excel数据,传入后台校验每一条数据,判断是否符合导入要求,返回给前端,导入预览展示.(前端等待响应,难点).用户再点击导入按钮,进行异步导入(前 ...

  9. RocketMQ中Broker的HA策略源码分析

    Broker的HA策略分为两部分①同步元数据②同步消息数据 同步元数据 在Slave启动时,会启动一个定时任务用来从master同步元数据 if (role == BrokerRole.SLAVE) ...

  10. ubuntu18.04下安装matlab2018a

    一.下载 百度网盘链接:https://pan.baidu.com/s/1M6KafnsljmYV9_5m_1pXMw 提取玛:jp76 二.安装 下载下来的文件夹中有三个文件,分别是破解文文件与映像 ...