吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 4049|回复: 30

[原创逆向图文] 某取名软件爆破 新手入

  [复制链接]
gujin162 发表于 2015-7-21 19:54 | 显示全部楼层 |阅读模式

这类软件误导你的地方很多,有些时候不知道该怎么分析,其实,只要仔细看就可以看出点眉目了。

一般惯例,先查壳,Microsoft Visual C++ 6.0

1 1.jpg

我们把软件拖入od,其实呢,这类取名字软件都是易语言写的,只不过是静态编译,查壳显示是Microsoft Visual C++ 6.0而已,尤其这个软件最明显,呵呵,看图。

2 2.jpg

3 3.jpg

3.1 3.1.jpg

这个软件打开的时候,会提示注册,提示框显示(试用版),我们刚才在翻找字符串的时候,已经看到很多个“(已注册)”的字符串了,但是没看到“(试用版)”字符串,我们可以从这里入手。

发现,未注册的提示都是在0054C3E9,而已注册都是在0055029A

4 4.jpg

4.1 4.1.jpg

4.2 4.2.jpg

我们慢慢往下找,在(已注册)上面,我们都进去看看,在这个(已注册)上面,我们可以看到,如图:由于不知道什么是重要的,先全部下断。

5 5.jpg

5.1 5.1.jpg

再看另一个(已注册),因为再往上没看就是刚才的那些了,没有什么关键或可疑的字符串提示了,所以我们这里就下2个断。

5.2 5.2.jpg

F9运行,我们看,程序会断在哪里.。如图,发现je跳转已经实现了。

6 6.jpg

我们看到,test测试指令,是eax,同时eax的值是0,如图

7 7.jpg

说明,软件在刚开始还没有注册的时候,会检测时候是注册版,如果不是软件窗体应该提示为(试用版),如果是已注册的,那窗口应该是(已注册)。

8 8.jpg

9 9.jpg

我们F8往下,先不管那些call,我们先看那些跳转会实现。

10 10.jpg

11 11.jpg

好了,在我们观察跳转是否实现的时候,我们看到,如果eax是值为0,那么00411517   . /0F84 DF000000 je 宝宝取名.004115FC                         ;  【这里跳过注册了】

这个跳转就会实现,而这时,我们发现00411513   > \33C0          xor eax,eax,来自2个je跳转,看下面加粗红色跳转

004114E7   . /74 09         je X宝宝取名.004114F2
004114E9   . |53            push ebx
004114EA   . |E8 DD830500   call 宝宝取名.004698CC
004114EF   . |83C4 04       add esp,0x4
004114F2   > \E8 2519FFFF   call 宝宝取名.00402E1C
004114F7   .  85C0          test eax,eax
004114F9   .  0F84 14000000 je 宝宝取名.00411513                         ;  跳到00411513
004114FF   .  E8 D846FFFF   call 宝宝取名.00405BDC
00411504   .  85C0          test eax,eax
00411506   .  0F84 07000000 je 宝宝取名.00411513                         ;  这个和上面004114F9一样的跳转,跳到00411513
0041150C   .  B8 01000000   mov eax,0x1
00411511   .  EB 02         jmp X宝宝取名.00411515
00411513   >  33C0          xor eax,eax
00411515   >  85C0          test eax,eax
00411517   .  0F84 DF000000 je 宝宝取名.004115FC                         ;  【这里跳过注册了】

在这个跳转之前,我们必须把eax值置1,这个跳转才不会实现,我们重新载入,在这2个跳转上面最近的call,我们F7。来到这里

12 12.jpg

我们F8继续,注意观察eax的值,需要注意的是,我们现在要做的是爆破,而不是追码,所以在看到一些奇怪的码的时候,我们注意力先不要分散,继续往下,在retn前,我们看到了

13 13.jpg

00403092   > \837D C4 01    cmp dword ptr ss:[ebp-0x3C],0x1
00403096   .  0F85 0F000000 jnz 宝宝取名.004030AB
0040309C   .  B8 01000000   mov eax,0x1
004030A1   .  E9 0F000000   jmp 宝宝取名.004030B5
004030A6   .  E9 0A000000   jmp 宝宝取名.004030B5
004030AB   >  B8 00000000   mov eax,0x0
004030B0   .  E9 00000000   jmp 宝宝取名.004030B5
004030B5   >  50            push eax
004030B6   .  8B5D FC       mov ebx,dword ptr ss:[ebp-0x4]
004030B9   .  85DB          test ebx,ebx
004030BB   .  74 09         je X宝宝取名.004030C6
004030BD   .  53            push ebx
004030BE   .  E8 09680600   call 宝宝取名.004698CC
004030C3   .  83C4 04       add esp,0x4
004030C6   >  8B5D F8       mov ebx,dword ptr ss:[ebp-0x8]
004030C9   .  85DB          test ebx,ebx
004030CB   .  74 09         je X宝宝取名.004030D6
004030CD   .  53            push ebx
004030CE   .  E8 F9670600   call 宝宝取名.004698CC
004030D3   .  83C4 04       add esp,0x4
004030D6   >  58            pop eax
004030D7   .  8BE5          mov esp,ebp
004030D9   .  5D            pop ebp
004030DA   .  C3            retn

其实,我们应该可以猜到,00403096   . /0F85 0F000000 jnz 宝宝取名.004030AB

这个跳转必然会实现。因为我们输入的肯定是不正确的注册码。而这个跳转跳到004030AB   > \B8 00000000   mov eax,0x0

这个时候给eax赋值为0了。好了,到现在,我们爆破的思路基本有了。要么将004030AB   > \B8 00000000   mov eax,0x0 改为004030AB   > \B8 00000000   mov eax,0x1,要么在前面jnz跳转前把00403092   > \837D C4 01    cmp dword ptr ss:[ebp-0x3C],0x1改为00403092   > \837D C4 01    cmp dword ptr ss:[ebp-0x3C],0x0

我们修改好之后,运行,还是提示试用版。说明,我们只修改这个call过程还是不行,刚才第二个加粗的跳转附近的call也需要我们看看。我们回到段首,找到调用call,F8向下,来到
004114F9     /0F84 14000000 je 宝宝取名.00411513                         ;  跳到00411513
的时候,我们把Z标志位改为0,以便让我们能进入下面的call。

14 14.jpg

好了,我们F8来到
004114FF      E8 D846FFFF   call 宝宝取名.00405BDC                       ;  这里也进入
F7进入,在F8继续往下的过程中,我们发现和刚才的过程是一样的。修改方法和刚才一样,我这里用的是将004030AB   > \B8 00000000   mov eax,0x0 改为004030AB   > \B8 00000000   mov eax,0x1



好了,我们保存修改。运行试一试。

15 15.jpg

好了,教程到此结束。


评分

参与人数 21威望 +1 HB +36 THX +12 收起 理由
sjtkxy + 2 + 1
24567 + 1
Soul1999 + 1
zxjzzh + 2 [吾爱汇编论坛52HB.COM]-软件反汇编逆向分析,软件安全必不可少!
消逝的过去 + 1
三月十六 + 1
慕枫二二 + 1 [吾爱汇编论坛52HB.COM]-吃水不忘打井人,给个评分懂感恩!
jaunic + 2
MoeRay + 1
hnymsh + 1
lies + 1
mengzhisuoliu1 + 1
mengzhisuoliu + 1
hetao8003200 + 1
ghostxu + 1 [吾爱汇编论坛52HB.COM]-学破解防破解,知进攻懂防守!
我爱张海强 + 2 + 1 附件形式上传教程,为后来学习者保证了资源稳定性,额外+10HB,感谢!
Shark恒 + 5 + 1 评分=感恩!简单却充满爱!感谢您的作品!
870463713 + 1 + 1 评分=感恩!简单却充满爱!感谢您的作品!
tony2526 + 3 + 1 评分=感恩!简单却充满爱!感谢您的作品!
Desire + 1 + 10 + 1 评分=感恩!简单却充满爱!感谢您的作品!
凌轩 + 2 + 1 评分=感恩!简单却充满爱!感谢您的作品!

查看全部评分

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
冷瞳 发表于 2015-7-21 20:13 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tony2526 发表于 2015-7-21 20:36 | 显示全部楼层

以前也玩过这个,楼主分析的不错哦
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
870463713 发表于 2015-7-21 20:37 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
战股神 发表于 2015-7-21 21:15 | 显示全部楼层

还有木有其他方法呢》
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
苍白无力。 发表于 2015-7-21 22:36 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
8wy721719 发表于 2015-7-21 22:43 | 显示全部楼层

赞一下!!!!!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
tt5 发表于 2015-7-22 00:28 来自手机端 | 显示全部楼层

按步骤试试看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Geek 发表于 2015-7-22 01:07 | 显示全部楼层


赞一下!!!!!!!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
hn01203 发表于 2019-5-5 10:12 | 显示全部楼层

好教程,感谢楼主分享
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!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

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