吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 6600|回复: 11
收起左侧

[原创] [反汇编练习] 160个CrackMe之035

  [复制链接]
44018723 发表于 2014-7-15 17:41

[反汇编练习] 160个CrackMe之035.

本系列文章的目的是从一个没有任何经验的新手的角度(其实就是我自己),一步步尝试将160个CrackMe全部破解,如果可以,通过任何方式写出一个类似于注册机的东西。

其中,文章中按照如下逻辑编排(解决如下问题):

1、使用什么环境和工具

2、程序分析

3、思路分析和破解流程

4、注册机的探索

----------------------------------

提醒各位看客: 如果文章中的逻辑看不明白,那你一定是没有亲手操刀!OD中的跳转提示很强大,只要你跟踪了,不用怎么看代码就理解了!

----------------------------------

1、工具和环境:

WinXP SP3 + 52Pojie六周年纪念版OD + PEID + 汇编金手指。

160个CrackMe的打包文件。

下载地址: http://pan.baidu.com/s/1xUWOY 密码: jbnq

注:

1、Win7系统对于模块和程序开启了随机初始地址的功能,会给分析带来很大的负担,所以不建议使用Win7进行分析。

2、以上工具都是在52PoJie论坛下的原版程序,NOD32不报毒,个人承诺绝对不会进行任何和木马病毒相关内容。

2、程序分析:

想要破解一个程序,必须先了解这个程序。所以,在破解过程中,对最初程序的分析很重要,他可以帮助我们理解作者的目的和意图,特别是对于注册码的处理细节,从而方便我们反向跟踪和推导。

和上一节一样,打开CHM,选择第35个cupofcoffe.1.exe,保存下来。运行程序,程序界面如下:



1.png

有信息框提示! 文本框不知道为什么显示的这样? 不知是原本就这样还是我没有它的字体!

PEID:Microsoft Visual Basic 5.0 / 6.0

3、思路分析和破解流程

1、打开OD,将exe拖到OD窗口中,等程序暂停后,直接点击运行按钮(F9),不用理会。

2、随意输入伪码:123456789。点击Check it按钮,弹出信息框,不要关闭,回到OD。

…(哎呀,不是这样的,写这一段写习惯了!!囧)

OD 打开提示数据有压缩,然后大量的不可识别命令,考虑是不是用了P-CODE,使用VB反编译工具看看:

2.png


VB Decompiler Pro 提示压缩,尝试解压,然后发现一堆中文乱码。

(此处有埋伏!其实出现中文乱码是使用了VB_Decompilter_Pro_8.2 版本导致的,后来找到的9.2(论坛地址:http://www.52pojie.cn/thread-274209-1-1.html)版本就可以正常使用了!)


好吧,没办法,OD提示压缩是否继续分析,选择是,然后运行exe,右键->中文搜索引擎->智能搜索。

4.png

选择Incorrect password 右键->Follow,附近代码如下:


[Asm] 纯文本查看 复制代码
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
004FEC0E   .  FF15 D4105000 call dword ptr ds:[<&MSVBVM50.__vbaHresu>;  msvbvm50.__vbaHresultCheckObj
004FEC14   >  8B4D E8       mov ecx,dword ptr ss:[ebp-0x18]
004FEC17   .  51            push ecx
004FEC18   .  68 E41B4000   push 00401BE4                           ;  ..........
004FEC1D   .  FF15 F8105000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>;  msvbvm50.__vbaStrCmp
004FEC23   .  8BF0          mov esi,eax
004FEC25   .  8D4D E8       lea ecx,dword ptr ss:[ebp-0x18]
004FEC28   .  F7DE          neg esi
004FEC2A   .  1BF6          sbb esi,esi
004FEC2C   .  F7DE          neg esi
004FEC2E   .  F7DE          neg esi
004FEC30   .  FF15 4C115000 call dword ptr ds:[<&MSVBVM50.__vbaFreeS>;  msvbvm50.__vbaFreeStr
004FEC36   .  8D4D E4       lea ecx,dword ptr ss:[ebp-0x1C]
004FEC39   .  FF15 50115000 call dword ptr ds:[<&MSVBVM50.__vbaFreeO>;  msvbvm50.__vbaFreeObj
004FEC3F   .  66:3BF7       cmp si,di
004FEC42   .  74 6E         je short 004FECB2
004FEC44   .  B9 04000280   mov ecx,0x80020004
004FEC49   .  B8 0A000000   mov eax,0xA
004FEC4E   .  894D AC       mov dword ptr ss:[ebp-0x54],ecx
004FEC51   .  894D BC       mov dword ptr ss:[ebp-0x44],ecx
004FEC54   .  894D CC       mov dword ptr ss:[ebp-0x34],ecx
004FEC57   .  8D55 94       lea edx,dword ptr ss:[ebp-0x6C]
004FEC5A   .  8D4D D4       lea ecx,dword ptr ss:[ebp-0x2C]
004FEC5D   .  8945 A4       mov dword ptr ss:[ebp-0x5C],eax
004FEC60   .  8945 B4       mov dword ptr ss:[ebp-0x4C],eax
004FEC63   .  8945 C4       mov dword ptr ss:[ebp-0x3C],eax
004FEC66   .  C745 9C 001C4>mov dword ptr ss:[ebp-0x64],00401C00    ;  Incorrect password
004FEC6D   .  C745 94 08000>mov dword ptr ss:[ebp-0x6C],0x8
004FEC74   .  FF15 38115000 call dword ptr ds:[<&MSVBVM50.__vbaVarDu>;  msvbvm50.__vbaVarDup
004FEC7A   .  8D55 A4       lea edx,dword ptr ss:[ebp-0x5C]
004FEC7D   .  8D45 B4       lea eax,dword ptr ss:[ebp-0x4C]
004FEC80   .  52            push edx
004FEC81   .  8D4D C4       lea ecx,dword ptr ss:[ebp-0x3C]
004FEC84   .  50            push eax
004FEC85   .  51            push ecx
004FEC86   .  8D55 D4       lea edx,dword ptr ss:[ebp-0x2C]
004FEC89   .  6A 10         push 0x10
004FEC8B   .  52            push edx
004FEC8C   .  FF15 E0105000 call dword ptr ds:[<&MSVBVM50.#595>]    ;  msvbvm50.rtcMsgBox

其中,有一个关键跳转:004FEC42   .  74 6E         je short 004FECB2
跳了之后就不知跑到哪里了,因为那个地址没有什么提示文本,但是我们可以试试,使用jmp 004FECB2,哈哈,成功了!

5.png


4、注册机的探索


在这个关键跳转之前,我们发现了一个明文的文本比较,如下:


[Asm] 纯文本查看 复制代码
1
2
3
004FEC17   .  51            push ecx
004FEC18   .  68 E41B4000   push 00401BE4                           ;  ..........
004FEC1D   .  FF15 F8105000 call dword ptr ds:[<&MSVBVM50.__vbaStrCm>;  msvbvm50.__vbaStrCmp

这里将ecx与10个点进行比较,然后跳转,我们将爆破代码恢复,输入10个点,然后发现哈哈哈,成功了!


3.png


BY  笨笨D幸福


免费评分

参与人数 1热心值 +1 收起 理由
dych1688 + 1 谢谢 应该在我全部看完你的教程 技术就差不.

查看全部评分

本帖被以下淘专辑推荐:

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

瓜子吧3 发表于 2014-7-15 17:47
看见这个就知道是你。。。。。
phper 发表于 2014-7-15 17:46
lwj一辈子 发表于 2014-7-15 18:27
160个CM,楼主坚持做完,相信以后会有很多人追随你的
Bad丶Boy 发表于 2014-7-15 17:58
大神就是大神。
lyxsh2013 发表于 2014-7-15 18:05
支持一下~~~~
SaberMason 发表于 2014-7-15 18:08 来自手机
学习了。。
头像被屏蔽
bao宝明 发表于 2014-7-15 19:01
提示: 作者被禁止或删除 内容自动屏蔽
dych1688 发表于 2014-7-16 22:25
睡觉前支持下哈
头像被屏蔽
苏烟式 发表于 2014-7-21 02:34
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2025-1-11 14:12

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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