逆向破解之160个CrackMe —— 015
CrackMe —— 015
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
编号 | 作者 | 保护方式 |
015 | blaster99 | Nag,Serial(VB5) |
工具
x32dbg
开始破解之旅
ON.1
首先我们打开程序,发现NAG窗口
我们要想办法先去掉这个窗口
使用x32dbg打开015号程序,右键搜索字符串
我们看到了00402C85这个地址是NAG的提示字符串地址,点击进入该地址
我们向上翻看来到段首处
00402C12 | 5B | pop ebx |
00402C13 | C9 | leave |
00402C14 | C2 | ret |
00402C17 | | push ebp | NAG 段首处
00402C18 | 8BEC | mov ebp,esp |
00402C1A | 83EC 0C | sub esp,C |
00402C1D | | push <JMP.&__vbaExceptHandler> |
我们将00402C17改为ret意思是进入NAG处直接返回,即可跳过NAG
我们将其修改为ret运行
bingo ~程序直接运行,去除NAG窗口成功
ON.2
爆破方式
根据我们之前搜索到的字符串00402A69地址处,该地址是错误字符串地址
004028F5处按照汉意是正确字符串
地址=004028F5
反汇编=mov dword ptr ss:[ebp-],.401E08
字符串=L"Danke, das Passwort ist richtig !" 地址=00402C85
反汇编=mov dword ptr ss:[ebp-7C],.401EF0
字符串=L"Entferne diesen Nag, oder bekomme das richtige Passwort heraus !"
我们双击进入004028F5地址处,向上翻看来到最近的一个跳转出
004028B5 | E8 84E8FFFF | call <JMP.&__vbaHresultCheckObj> |
004028BA | FF75 A8 | push dword ptr ss:[ebp-] |
004028BD | DC1D4000 | push .401DDC | 401DDC:L"2G83G35Hs2"
004028C2 | E8 83E8FFFF | call <JMP.&__vbaStrCmp> |
004028C7 | 8BF8 | mov edi,eax |
004028C9 | 8D4D A8 | lea ecx,dword ptr ss:[ebp-] |
004028CC | F7DF | neg edi |
004028CE | 1BFF | sbb edi,edi |
004028D0 | | inc edi |
004028D1 | F7DF | neg edi |
004028D3 | E8 60E8FFFF | call <JMP.&__vbaFreeStr> |
004028D8 | 8D4D A4 | lea ecx,dword ptr ss:[ebp-5C] |
004028DB | E8 52E8FFFF | call <JMP.&__vbaFreeObj> |
004028E0 | :3BFE | cmp di,si |
004028E3 | 0F84 F3000000 | je .4029DC |
004028E9 | 6A | push |
004028EB | 8D95 74FFFFFF | lea edx,dword ptr ss:[ebp-8C] | edx:EntryPoint
004028F1 | 5E | pop esi |
004028F2 | 8D4D AC | lea ecx,dword ptr ss:[ebp-] |
004028F5 | C785 7CFFFFFF 081E4000 | mov dword ptr ss:[ebp-],.401E08 | 401E08:L"Danke, das Passwort ist richtig !"
004028FF | 89B5 74FFFFFF | mov dword ptr ss:[ebp-8C],esi |
我们将004028E3地址处修改为NOP,在输入框内输入任意数据,点击Registeren按钮
bingo ~破解成功
追码方式
我们继续向上翻看,发现004028BD处有可疑字符串,我们将“2G83G35Hs2”输入到输入框内,点击注册按钮
bingo~ 追码成功
逆向破解之160个CrackMe —— 015的更多相关文章
- 逆向破解之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 —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- ACT开发初步(一)
ACT的全称是Application Customization Toolkit,是面向ANSYS系列产品的统一的二次开发平台.利用基于Python的API(Application Programmi ...
- List 拆分集合与 读写XML配置文件
有时候会出现需要将一个集合分成所干个集合,依次再对每组集合进行处理,想了想,用 Linq 处理就很方便 ); ).Take(); //第一组 ).Take(); //第二组 ; i < time ...
- IntelliJ IDEA编辑器的使用技巧
目录 1. 使用技巧 1. 跳转小工具 2. 无处不在的跳转 3. 精准搜索 4. 列操作: 5. live template 6. postfix 7. ALT+ENTER智能提示,代码优化 8. ...
- docker 学习操作记录 3
记录3 [BEGIN] // :: Last :: from 192.168.114.1 root@coder:~# man addgroup ADDUSER() System Manager's M ...
- adb和fastboot的使用
1.前言 随着Android系统的普及,ADB(Android Debug Bridge)逐渐成了Android设备调试的必不可少的一种重要工具,该工具可以完成多种功能,例如跟踪系统日志,上传或下载文 ...
- 040 RabbitMq及数据同步02
1.Spring AMQP (1)简介 Spring有很多不同的项目,其中就有对AMQP的支持: Spring AMQP的页面:http://spring.io/projects/spring-amq ...
- [转帖]Centos7防火墙配置rich-rule实现IP端口限制访问
Centos7防火墙配置rich-rule实现IP端口限制访问 2019-02-18 18:05:35 sunny05296 阅读数 2143 收藏 更多 分类专栏: Linux 版权声明:本文 ...
- SpringBoot 基础(二)
目录 SpringBoot基础(二) 一.操作数据库 1. SpringBootJdbc 2. SpringBoot 整合 Mybatis 3. SpringBott 使用JPA 二.使用 Thyme ...
- golang --rune
rune 是int32的别名类型,专用于存储Unicode编码的单个字符 我们可以用5种方式来表示一个rune字面量: 该rune字面量所对应的字符,如'a'必须是Unicode编码规范所支持的 使用 ...
- display:grid
使用grid布局 参考资料http://www.ruanyifeng.com/blog/2019/03/grid-layout-tutorial.html flex布局还没完全用利索,但这个grid布 ...