吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 5109|回复: 26

[原创逆向图文] 对付VB无提示框的方法-追码-爆破-新手教程-大牛飘过

  [复制链接]
千羽huilai 发表于 2018-9-1 03:51 | 显示全部楼层 |阅读模式

闲谈:今天闲着没事,翻看以前的教程  发现一个VB小程序   无任何提示框  于是兴趣来了     也许有人录过此教程    对于我等小白来说  正是练手的时候到了  (吾爱汇编论坛1周年2000个最新逆向视频教程(50G)-第4部分按钮事件 -vb无提示框的一般逆向分析思路)这位兄弟没有完成
[目标软件】:   Crackme    课件里有  我就不提供了
Microsoft Visual Basic 5.0 / 6.0 [Debug]         无壳
bp __vbaStrCmp 比较字符串是否相等


bp __vbaStrComp 比较字符串是否相等


bp __vbaFreeStr 对付VB程序重启验证
                                                           介绍三种方法直达本心
图1: 01.png

刚打开这个Crackme  红线标识的地方  等下就知道了
拖进OD
输入:xuepojie    123456789       987654321
图2:
02.png

点击无任何提示
搜搜字符串UINCODE
图3:
03.png

只看到GOOD BOY 字样,点击进入
图:4:
04.png

往上拉找到段首 F2下段
004027C0   > \55            push ebp                   //段首   F2下段     
004027C1   .  8BEC          mov ebp,esp
004027C3   .  83EC 0C       sub esp,0xC
004027C6   .  68 26114000   push <jmp.&MSVBVM60.__vbaExceptHandler>  ;  SE 处理程序安装
004027CB   .  64:A1 0000000>mov eax,dword ptr fs:[0]
此为方法一

===========================邪恶的分割线===================================
重载程序下断点:
bp __vbaStrCmp 比较字符串是否相等
bp __vbaStrComp 比较字符串是否相等
也可以点击E图标  在点击所在位置就会出现这个软件所需要的函数
图5:
05.png

断在这里 F9运行起来
图6:
06.png

点击YES之后断下来了   F8单步往下走
图7:
图7.png

00402A3F   .  FFD7          call edi                                 ;  关键CALL; <&MSVBVM60.__vbaStrCmp>
00402A41   .  85C0          test eax,eax
00402A43   .  0F85 34010000 jnz Crackme.00402B7D                     ;  关键跳
此为方法二

===========================邪恶的分割线===================================
VB万能断点:
OD载入后,CTRL+B, ()81 6C 24
1. 然后,就在下面的JMP处F2下断,下完后CTRL+L,如果还有,就继续下断点.   
2. 下完断点后,运行程序,点击相应的按纽,OD就会断下来了:
图8:
08.png

此为方法三
================================================
方法四的话就需要相应的FZ工具把VB的按钮标题修改一下,我就不阐述了 自己搜索论坛 百度
===========================邪恶的分割线===================================
004027C0   > \55            push ebp                     //还记得这里吗???    (段首)
004027C1   .  8BEC          mov ebp,esp
004027C3   .  83EC 0C       sub esp,0xC
004027C6   .  68 26114000   push <jmp.&MSVBVM60.__vbaExceptHandler>  ;  SE 处理程序安装

追码开始:
004027C0   > \55            push ebp   段首下段  
重载程序 输入xueoujie     123456789      987654321
F8单步往下走开始分析
图9:
09.png

下面分析我就不上图了  节约空间
00402885   .  FFD6          call esi                                 ;  <&MSVBVM60.__vbaStrMove>
00402887   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]              //读取我们的输入的:987654321
0040288A   .  FF15 C0104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
===========================邪恶的分割线===================================
004028EE   .  FFD6          call esi
004028F0   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]             //读取我们输入的:xuepojie
004028F3   .  FF15 C0104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
===========================邪恶的分割线===================================
0040295B   .  FFD6          call esi
0040295D   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]          //读取我们输入的:123456789
00402960   .  FF15 C0104000 call dword ptr ds:[<&MSVBVM60.__vbaFreeO>;  MSVBVM60.__vbaFreeObj
===========================邪恶的分割线===================================
图10:
10.png

00402A39   .  52            push edx                 //push edx    edx=987654321
00402A3A   .  68 E0214000   push Crackme.004021E0                    ;  Shooter     在push个 作者设定的 Shooter
00402A3F   .  FFD7          call edi                                 ;  关键CALL; <&MSVBVM60.__vbaStrCmp>  关于算法的  我没去看
00402A41   .  85C0          test eax,eax                   //这里进行比较  不相等则跳   相等则不跳
00402A43   .  0F85 34010000 jnz Crackme.00402B7D                     ;  关键跳
走到这里 堆栈出现了Shooter和我们的987654321进行比较  
那我们重新输入Shooter,把987654321替换Shooter 看看会是什么样的情况
图11:
11.png


00402A39   .  52            push edx
00402A3A   .  68 E0214000   push Crackme.004021E0                    ;  Shooter
00402A3F   .  FFD7          call edi                                 ;  关键CALL; <&MSVBVM60.__vbaStrCmp>
00402A41   .  85C0          test eax,eax
00402A43   .  0F85 34010000 jnz Crackme.00402B7D                     ;  关键跳    //这里不跳了

图12:
12.png

堆栈窗口出现SCT-jie8xue和我们输入的xuepojie比较  那我们把xuepojie替换SCT-jie8xue   看看会是什么样的情况
图13:
13.png

寄存器窗口和堆栈窗口出现SCT-xue11SCT和我们输入的123456789比较   那我们把123456789替换SCT-xue11SCT  看看会是什么样的情况
图14:
15.png


哈哈  成功了
把xuepojie 替换成  SCT-jie8xue    把123456789替换SCT-xue11SCT  把987654321替换 Shooter
注意:其中有一个是错误的话就会程序终止  无法运行
===========================邪恶的分割线===================================
爆破方法:
00402A3F   .  FFD7          call edi                                 ;  关键CALL; <&MSVBVM60.__vbaStrCmp>
00402A41   .  85C0          test eax,eax
00402A43      0F85 34010000 jnz Crackme.00402B7D                     ;  关键跳
把JNZ该NOP   只改这一处的话程序无法运行
===========================邪恶的分割线===================================
00402B34     /74 41         je XCrackme.00402B77         //这里NOP  不改则退出
00402B36   . |A1 10304000   mov eax,dword ptr ds:[0x403010]          ;  @g_
00402B3B   . |85C0          test eax,eax
00402B3D   . |75 10         jnz XCrackme.00402B4F
00402B3F   . |68 10304000   push Crackme.00403010                    ;  @g_
00402B44   . |68 DC184000   push Crackme.004018DC
00402B49   . |FF15 80104000 call dword ptr ds:[<&MSVBVM60.__vbaNew2>>;  MSVBVM60.__vbaNew2
00402B4F   > |8B35 10304000 mov esi,dword ptr ds:[0x403010]          ;  @g_
00402B55   . |8B06          mov eax,dword ptr ds:[esi]
00402B57   . |68 F4214000   push Crackme.004021F4                    ;  GOOD BOY
00402B5C   . |56            push esi
00402B5D   . |FF50 54       call dword ptr ds:[eax+0x54]
00402B60   . |DBE2          fclex
00402B62   . |85C0          test eax,eax
00402B64   . |7D 17         jge XCrackme.00402B7D
00402B66   . |6A 54         push 0x54
00402B68   . |68 BC1D4000   push Crackme.00401DBC
00402B6D   . |56            push esi
00402B6E   . |50            push eax
00402B6F   . |FF15 30104000 call dword ptr ds:[<&MSVBVM60.__vbaHresu>;  MSVBVM60.__vbaHresultCheckObj
00402B75   . |EB 06         jmp XCrackme.00402B7D
00402B77   > \FF15 1C104000 call dword ptr ds:[<&MSVBVM60.__vbaEnd>] ;  MSVBVM60.__vbaEnd   // VB退出函数
完美附图:
18.png
希望能对你有所帮助,如果排的有误,请大家见谅,不喜勿喷  祝愿吾爱汇编论坛红红火火,  时间不早了 ,晚安  




11.png

评分

参与人数 19威望 +1 HB +53 THX +13 收起 理由
文字君 + 1
虚心学习 + 1 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
sjtkxy + 1 + 1
消逝的过去 + 2
冷亦飞 + 1
yexing + 1
飞刀梦想 + 1
挖藕 + 1
zyyujq + 1 + 1
lies + 1
小声点我布隆 + 1
PDWORD + 1
帅呆鹏 + 1
xfxcx + 1 + 1
winnerishope + 1 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
zxjzzh + 5 + 1 [快捷评语] - 2018,狗年发发发,狗年旺旺旺!
李沉舟 + 6 + 1 支持图文教程。
ROSE4KLY + 1 + 1 虽然还没有学到那里,还是顶一下
Shark恒 + 1 + 30 + 1 [快捷评语] - 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
ROSE4KLY 发表于 2018-9-1 09:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
493688702 发表于 2018-9-1 10:38 | 显示全部楼层

谢谢楼主
学习一下
举一反三
支持恒大
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
byh3025 发表于 2018-9-1 11:07 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
winnerishope 发表于 2018-9-1 17:32 | 显示全部楼层

就喜欢看图文,言简意赅,直中要害
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
668 发表于 2018-9-2 12:22 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
gylgw 发表于 2018-9-8 07:12 | 显示全部楼层

谢谢楼主分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
493688702 发表于 2018-9-8 08:21 | 显示全部楼层

多见识
多学习
多进步
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
TAOGE5387 发表于 2018-9-8 08:37 | 显示全部楼层

学习学习
研究研究
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Snprszy 发表于 2018-9-29 14:19 | 显示全部楼层

很详细的教程,谢谢了
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表