逆向破解之160个CrackMe —— 017
CrackMe —— 017
160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序
CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 crackme 的人可能是程序员,想测试一下自己的软件保护技术,也可能是一位 cracker,想挑战一下其它 cracker 的破解实力,也可能是一些正在学习破解的人,自己编一些小程序给自己破。
编号 | 作者 | 保护方式 |
017 | bjanes | Serial(VB5) |
工具
x32dbg
VB Decompiler Pro
开始破解之旅
ON.1
爆破方式
首先使用x32dbg打开017号程序,右键搜索字符串
找到了我们的整错提示和错误提示的字符串
进入错误提示字符串,向上翻看
00404ED7 | | push ecx |
00404ED8 | | push edx |
00404ED9 | E9 A8000000 | jmp bjcm30a.404F86 |
00404EDE | BE | mov esi,0x8 | 从该地址进入
00404EE3 | 8B1D CC104000 | mov ebx,dword ptr ds:[<&__vbaVarDup>] |
00404EE9 | B9 | mov ecx,0x80020004 |
00404EEE | 898D 20FFFFFF | mov dword ptr ss:[ebp-0xE0],ecx |
00404EF4 | B8 0A000000 | mov eax,0xA | A:'\n'
00404EF9 | 898D 30FFFFFF | mov dword ptr ss:[ebp-0xD0],ecx |
00404EFF | 8D95 F8FEFFFF | lea edx,dword ptr ss:[ebp-0x108] |
00404F05 | 8D8D 38FFFFFF | lea ecx,dword ptr ss:[ebp-0xC8] |
00404F0B | 18FFFFFF | mov dword ptr ss:[ebp-0xE8],eax |
00404F11 | 28FFFFFF | mov dword ptr ss:[ebp-0xD8],eax |
00404F17 | C785 00FFFFFF 102A4000 | mov dword ptr ss:[ebp-0x100],bjcm30a.402A10 | 402A10:L"Wrong serial!"
00404F21 | 89B5 F8FEFFFF | mov dword ptr ss:[ebp-0x108],esi |
00404F27 | FFD3 | call ebx |
00404F29 | 8D95 08FFFFFF | lea edx,dword ptr ss:[ebp-0xF8] |
00404F2F | 8D8D 48FFFFFF | lea ecx,dword ptr ss:[ebp-0xB8] |
00404F35 | C785 10FFFFFF D82B4000 | mov dword ptr ss:[ebp-0xF0],bjcm30a.402BD8 | 402BD8:L"Sorry, try again!"
00404F3F | 89B5 08FFFFFF | mov dword ptr ss:[ebp-0xF8],esi |
00404F45 | FFD3 | call ebx |
此时来到了进入错误提示字符串的入口处,找到00404EDE地址,右键 搜索->当前模块->常数,在此输入00404EDE搜索到了两个引用该字符串的地方,分别下断点
在输入框内输入任意数据,点击Check it 按钮,程序停在了0040459F处,我们按F9运行程序听到了处此时说明0040459F处断点是验证输入数据格式的,处断点才是验证数据,我们单步F8向下
此时我们看到程序跳过了正确提示符,说明是在此处判断我们将00404E30处改为NOP,F9运行
bingo ~ 程序破解成功
ON.2
注册机方式
我们使用VB Decompiler Pro打开017号程序,发现相对于前两个版本此处有了较大的变化
多出了hextode和hexfunc两个函数,并不影响我们的分析,这两个函数应该是转16进制的函数
我们点击进入Command1_Click,来到最下方看到了生成注册码的地方
发现和我们的前两个程序代码一样
附上我们的注册机代码
code = ''
for i in range(1, 10):
a = i ^ 2
code = code + str(a)[-1]
print(code)
得出结果为我们输入到输入框内,点击Check it按钮
bingo ~ 破解成功
逆向破解之160个CrackMe —— 017的更多相关文章
- 逆向破解之160个CrackMe —— 018
CrackMe —— 018 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之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 —— 025
CrackMe —— 025 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
- 逆向破解之160个CrackMe —— 026
CrackMe —— 026 160 CrackMe 是比较适合新手学习逆向破解的CrackMe的一个集合一共160个待逆向破解的程序 CrackMe:它们都是一些公开给别人尝试破解的小程序,制作 c ...
随机推荐
- Java零基础个人学习路线总结
之前学习Java的时候走过一些弯路,一直想写一篇文章来总结下自己对自学Java的认识.趁着这次开通专栏的机会整理一篇文章,既可以巩固所学,也可以为后来境遇相同的人做个参考. 首先提出几个问题 Java ...
- Unity游戏神经网络版坦克大战
基于遗传算法优化的神经网络来训练坦克AI是什么体验呢?下面有bulid好的demo. 包括window和安卓两个版本. 这是一个Unity项目. 下载链接:https://pan.baidu.com/ ...
- android开发--使用webView加载tel协议不会打开拨号盘解决
在加载url之前进行判断,url是否是tel协议开头,然后进行加载,即可打开拨号盘 mWebView.setWebViewClient(new WebViewClient() { @Override ...
- C#3.0新增功能08 Lambda 表达式
连载目录 [已更新最新开发文章,点击查看详细] Lambda 表达式是作为对象处理的代码块(表达式或语句块). 它可作为参数传递给方法,也可通过方法调用返回. Lambda 表达式广泛用于: 将 ...
- pycharm remote debug
换工作了好久没写blog了,堕落了,哈哈,发现了好的东西分享一下,和以前使用的pycharm的远程debug相比,更为方便,原理同步本地和远程的代码,加载远程的环境运行,使用本地的代码+远程的环境,方 ...
- activiti工作流委托功能的设计和实现
最近公司开发一个项目,客户提出了一个需求,用户在出差的时候,可以将自己的工作进行委托.可以指定委托时间.委托工作内容.指定委托人等等内容. 然后我就上网查询资料,发现activiti工作流本身并不支持 ...
- iis8 php-cgi.exe - FastCGI 进程意外退出 500错误解决办法
今天iis服务环境下的网站突然显示200错误php-cgi.exe - FastCGI 进程意外退出,昨天还好好的网站正常,这个问题一直偶尔出现几次,不是很频繁,但是偶尔会出现: 这是由于某些加载库加 ...
- 【Android Studio】常用快捷键
1. 删除一行:Ctrl + X 更新中……
- django数据库事务
数据库原子操作 举个例子: 一个消费者在一个商户里刷信用卡消费,交易正常时,银行在消费者的账户里减去相应的款项,在商户的帐户加上相应的款项.但是如果银行从消费者的账户里扣完钱之后,还未在商户的帐户里加 ...
- Maven从入门到放弃
1.maven是什么? maven是Apache下的一个纯java开发的一个开源项目,它是一款能够抽象构建过程,并且提供依赖管理,中央仓库,自动下载构建等功能的项目构建工具. 2.为什么要使用mave ...