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. mybatis-Generator 代码自动生成报错 Result Maps collection already contains value for BaseResultMap

    原因: 如果不把之前已经生成的xxxMapper.xml删除掉,再次生成代码时,会附加上去! 运行项目就回报上面的错误. 所以在运行代码生成之前,要把以前已经生成的xml文件清掉,以妨出错.

  2. spark 源码分析之六--Spark RPC剖析之Dispatcher和Inbox、Outbox剖析

    在上篇 spark 源码分析之五 -- Spark内置RPC机制剖析之一创建NettyRPCEnv 中,涉及到了Diapatcher 内容,未做过多的剖析.本篇来剖析一下它的工作原理. Dispatc ...

  3. Servlet的介绍

    Servlet由来 做过BS项目的人都知道,浏览器能够根据HTML静态标记语言来显示各式各样的网页.但是如果我们需要在网页上完成一些业务逻辑:比如登陆验证.或者说网页显示的内容在服务器的数据库中.如果 ...

  4. springcloud-provider-consumer-register

    作者:纯洁的微笑出处:http://www.ityouknow.com/ 版权归作者所有,转载请注明出处 上一篇文章我们介绍了eureka服务注册中心的搭建,这篇文章介绍一下如何使用eureka服务注 ...

  5. 【Sublime】设置显示编码格式

    Mac 上的 Sublime 显示编码格式,设置方法: 右下角显示的 UTF-8 就是当前的编码格式. 添加如下代码: { "font_size": 18, // Display ...

  6. SprintBoot

    简述 推出时间:从Maven仓库的时间看是2016.7.28 目的:摆脱大量的XML配置文件以及复杂的Bean依赖关系,快速.敏捷地开发新一代基于Spring框架的应用程序 思想:约定优于配置(con ...

  7. 【win】【qt5打包】【qt程序打包成一个可执行文件(带图标任何win都可以运行哦)】

    [前言] 业务需求将qt程序打包成win可执行文件.咱是做linux的,奈何用的麒麟系统,程序运行在win,好嘛,重新在win qtcreator编译后打包呗. [目标] 1.给qt程序添加一个图标. ...

  8. golang 中获取字符串个数

    golang 中获取字符串个数 在 golang 中不能直接用 len 函数来统计字符串长度,查看了下源码发现字符串是以 UTF-8 为格式存储的,说明 len 函数是取得包含 byte 的个数 // ...

  9. 通过Blazor使用C#开发SPA单页面应用程序(3)

    今天我们来看看Blazor开发的一些基本知识. 一.Blazor组件结构 Blazor中组件的基本结构可以分为3个部分,如下所示: //Counter.razor //Directives secti ...

  10. Java反射Reflect的使用详解

    目录 一. 什么是反射 二. 反射的基础Class 2.1 Class类概述 2.2 Class类对象获取的三种方式 三. 反射-构造函数 3.1 getDeclaredConstructor(Cla ...