逆向破解之160个CrackMe —— 025
CrackMe —— 025
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
| 编号 | 作者 | 保护方式 |
| 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的更多相关文章
- 逆向破解之160个CrackMe —— 001
CrackMe —— 001 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 002-003
CrackMe —— 002 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 004-005
CrackMe —— 004 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 013
CrackMe —— 013 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 014
CrackMe —— 014 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 016
CrackMe —— 016 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 017
CrackMe —— 017 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 018
CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 026
CrackMe —— 026 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- .net持续集成sonarqube篇之 sonarqube触发webhook
系列目录 WebHook近些年来变得越来越流行,github,gitlab等代码托管平台都提供webhook功能.关于webhook这里不做详细介绍,大家可以参阅读相关互联网书籍或者材料来更深了解.可 ...
- thinkphp 插件
1.切换到项目根目录,使用composer require 5ini99/think-addons:dev-master命令安装thinkphp插件 如果是root用户或是管理员执行的话会有提示 等一 ...
- 【iOS】UITableViewDelegate 方法没有调用
可能原因:没有调用 reloadData 方法. [self.tableView reloadData];
- 【Android】No resource found that matches the given name 'Theme.Sherlock.Light.NoActionBar'
被这个问题困扰了好久…… 错误如下: error: Error retrieving parent for item: No resource found that matches the given ...
- ASP.NET Core Web Api之JWT刷新Token(三)
前言 如题,本节我们进入JWT最后一节内容,JWT本质上就是从身份认证服务器获取访问令牌,继而对于用户后续可访问受保护资源,但是关键问题是:访问令牌的生命周期到底设置成多久呢?见过一些使用JWT的童鞋 ...
- windows下hexo+github搭建个人博客
网上利用hexo搭建博客的教程非常多,大部分内容都大同小异,选择一篇合适的参考,跟着一步一步来即可. 但是,很多博客由于发布时间较为久远等问题,其中某些操作在现在已不再适用,从而导致类似于我这样的小白 ...
- 自定义SWT控件三之搜索功能下拉框
3.搜索功能下拉弹出框 package com.view.control.select; import java.util.ArrayList; import java.util.LinkedList ...
- Apache之——多虚拟主机多站点配置的两种实现方案
Apache中配置多主机多站点,可以通过两种方式实现: 将同一个域名的不同端口映射到不同的虚拟主机,不同端口映射到不同的站点: 将同一个端口映射成不同的域名,不同的域名映射到不同的站点. 我们只需要修 ...
- Hadoop学习(8)-scala环境配置及简单使用
学习scala的原因主要是因为以后要学习spark. scala是运行在java虚拟机上的,它是一种面向对象和函数式编程结合的语言,并兼容java程序 相对于java更简单 安装scala前提你要保证 ...
- mvnjar包冲突解决方法
命令 mvn dependency:tree -Dverbose 结果: [INFO] +- com.esotericsoftware:kryo:jar:4.0.2:test [INFO] | +- ...