xxdoc 发表于 2007-1-19 11:29:19

原创]破解蓝鸟灌水机功能

破解某灌水机功能,一次不完美的破解
-------------------

【作者】xxdoc
【工具】OLLDBG<第3版> ,MFC按钮消息入口查找工具

我在家里搞了很长时间,都没搞定注册,所以我就准备破解功能!本人是菜鸟,不会SMC《SELF MODIFYING COAD》技术,所以破解不是很好,写的也是菜鸟文章,高手就不用看了~~~~

首先PEID查壳,没有壳,是易语言写的!


我门打开程序看看吧,首先有个提示框,点击确定,出现注册框,硬盘吗程序已经算好了!我的是 :1485442661。好我填上假吗123456,点注册,提示注册错误,点确定程序退出了。好重来,点试用,看到没有很多灰色按钮,且点击发帖有广告《测试版发贴时会自动加上“蓝鸟发贴机-发贴测试”字样,注册后可消除》;另外试用只能小于51次,超过了,发帖按钮就变灰!

由于我下这个软件的时候没看说明书,通过我的测试只知道上面的几个限制,是否有其他的,大家可以到作者网站上去看,我的电脑不能上网,所以我今天就破解上面的几个限制!

Od载入程序吧!我门先分析注册过程吧!
我用插件看下程序的函数:
看到了这两个
ExitProcess程序退出 注册失败就退出
MessageBoxA对话框

我门下MessageBoxA断点!F9运行程序停在这里了
77D504E9    90            nop
77D504EA >8BFF            mov   edi, edi   这里停下来
77D504EC    55            push    ebp
77D504ED    8BEC            mov   ebp, esp
看堆栈提示:
0012F790   100622C6?   /CALL 到 MessageBoxA 来自 krnln.100622C0

我门反汇编中跟随:100622C0

100622BE    6A 00         push    0
100622C0    FF15 98360C10   call    dword ptr 这里就是函数。[<&USER32.MessageBoxA>>; USER32.MessageBoxA
100622C6    5F            pop   edi

我门看一下就可以了,我门返回到刚才中断的地方
77D504EA >8BFF            mov   edi, edi

f9运行,弹出提示框!点确定,F9继续,这时候出现了注册框,我门填上假吗123456,点注册,
77D504E8    90            nop
77D504E9    90            nop
77D504EA >8BFF            mov   edi, edi 中断在这里
77D504EC    55            push    ebp
77D504ED    8BEC            mov   ebp, esp
77D504EF    833D BC04D777 0>cmp   dword ptr , 0

看堆栈提示:

0012F150   100622
C6?   /CALL 到 MessageBoxA 来自 krnln.100622C0
跟上面的一样

我门这时候F8继续

77D5052A    E8 2D000000   call    MessageBoxExA

在这里弹出注册失败的信息!点确定,F8继续向下!经过一个RETN返回
100622C0    FF15 98360C10   call    dword ptr [<&USER32.MessageBoxA>>; USER32.MessageBoxA
100622C6    5F         pop   edi      到这里            
100622C7    83F8 03         cmp   eax, 3

继续F8向下跟,经过几个RETN,最后返回00436FFD
00436FCD    55            push    ebp 在这里下个断点
00436FCE    8BEC            mov   ebp, esp
00436FD0    6A 00         push    0
00436FD2    6A 00         push    0
00436FD4    6A 00         push    0
00436FD6    68 01030080   push    80000301
00436FDB    6A 00         push    0
00436FDD    68 00000000   push    0
00436FE2    68 04000080   push    80000004
00436FE7    6A 00         push    0
00436FE9    68 B4BA4000   push    0040BAB4 注册码错误
00436FEE    68 03000000   push    3
00436FF3    BB 00030000   mov   ebx, 300
00436FF8    E8 B9030000   call    004373B6 是弹信息的call
00436FFD    83C4 28         add   esp, 28到这里
00437000    68 01000100   push    10001
00437005    68 00000106   push    6010000

下完上面的断点,应为程序注册失败是要退出的,我门继续F8向下跟,经过很多的RETn,和跳转,最终来到了00436CFD

00436CCF    6A 00         push    0
00436CD1    68 01000000   push    1
00436CD6    6A 00         push    0
00436CD8    6A 00         push    0
00436CDA    6A 00         push    0
00436CDC    68 01000100   push    10001
00436CE1    68 E0000106   push    60100E0
00436CE6    68 DF000152   push    520100DF
00436CEB    68 03000000   push    3
00436CF0    BB 20030000   mov   ebx, 320
00436CF5    E8 BC060000   call    004373B6关键CALL下断,将来要F7跟进去看看的
00436CFA    83C4 28         add   esp, 28
00436CFD    68 01030080   push    80000301这里
00436D02    6A 00         push    0
00436D04    68 00000000   push    0
00436D09    68 04000080   push    80000004
00436D0E    6A 00         push    0
00436D10    68 39BA4000   push    0040BA39

这里要注意注释里的提示字符!继续F8向下跟,直到程序退出!

我门看到0040BA39 这个位置就是 "Software\soft\software"

00436DD6    68 04000080   push    80000004
00436DDB    6A 00         push    0
00436DDD    68 67BA4000   push    0040BA67注意这里 的字符,就是注册表里面的纪录试用次数的位置                      "Software\Microsoft\ftp\Accounts\Login"
00436DE2    68 01030080   push    80000301
00436DE7    6A 00         push    0
00436DE9    68 03000000   push    3

=============================
00436E7E    6A 00         push    0
00436E80    68 03000000   push    3
00436E85    68 03000000   push    3
00436E8A    BB A4060000   mov   ebx, 6A4
00436E8F    E8 22050000   call    004373B6                         ; 这个call的 作用是将试用的次数加一,nop就ok
00436E94    83C4 28         add   esp, 28
00436E97    68 01030080   push    80000301
00436E9C    6A 00         push    0
===========================
00436EC5    DC1D E9914000   fcomp   qword ptr
00436ECB    DFE0            fstsw   ax
00436ECD    F6C4 41         test    ah, 41                           ; 此处是判断试用次数的.注意EAX=100
00436ED0    0F85 AE000000   jnz   00436F84                         ; 如果试用次数大于51,eax=0,这个跳转不能实现
00436ED6    6A 00         push    0
00436ED8    68 8DBA4000   push    0040BA8D
=============================

后面的我就不详细跟了,一直F8最后到这里
00437376    68 01000152   push    52010001
0043737B    E8 1E000000   call    0043739E这个call要注意 00437380    83C4 04         add   esp, 4
00437383    6A 00         push    0          这里
00437385    E8 0E000000   call    00437398
0043738A    E8 03000000   call    00437392

在f8进过两个CALL就退出了!
注册过程分析结束了!

下面分析试用过程。
重新载入!

00436CF5    E8 BC060000   call   004373B6                         ; 关键弹出提示框的 那个 call我们nop掉就ok
00436CFA    83C4 28         add    esp, 28
00436CFD    68 01030080   push   80000301断在提示框的下面00436D02    6A 00         push   0
00436D04    68 00000000   push   0

注意观察注册表的键值变化!上面我已经写过了!就不重复下!注意上面提到的关键地方!会影响试用的!

直接F9运行观察!点发帖,可以看到发帖内容有广告!(蓝            鸟    发       )还有很多的限制!

好了,应为我很菜,在关键的CALL里跟过,无法找到关键的爆破点,所以我今天就破解他的限制功能并去掉广告,使试用版无限制,也算破解了吧,下面就是操作了!先去注册提示框吧

00436CEB    68 03000000   push    3
00436CF0    BB 20030000   mov   ebx, 320
00436CF5    E8 BC060000   call    004373B6                         ; 关键弹出提示框的 那个 call我们nop掉就ok
00436CFA    83C4 28         add   esp, 28

第2步去次数限制:

00436E7E    6A 00         push    0
00436E80    68 03000000   push    3
00436E85    68 03000000   push    3
00436E8A    BB A4060000   mov   ebx, 6A4
00436E8F    E8 22050000   call    004373B6                         ; 这个call的 作用是将试用的次数加一,nop就ok
00436E94    83C4 28         add   esp, 28
00436E97    68 01030080   push    80000301
00436E9C    6A 00         push    0

第3步去广告字符:载入程序,在数据窗口搜索字符:蓝鸟,可以找到广告的位置,然后,在CUP 窗口查找命令:PUSH 这个位置就可以找到,具体怎么改我还没搞定,不行的话可以把他们变为000《本人还没搞懂,真是菜啊~~,希望大家完善》

第四步,用MFC按钮消息入口查找工具的按钮突破功能搞定灰色按钮!《本人不会SMC技术,具体怎吗搞希望大虾门做个入门教程吧》

到此基本搞定,到底搞定没有,我没试验过,估计还有问题。留给大家搞定吧!

后来到看雪论坛看到:

据看雪的牛人说:作者发布的是DEMO版,没有注册模块,但功能完整!

playboyjin 发表于 2007-1-19 11:43:36

看得真不错,,向你学习

xxdoc 发表于 2007-1-19 12:02:17

推荐个站,
http://arteam.accessroot.com/releases/

里面有CRACKME。和一些我还不会用的东西
1

147258 发表于 2007-6-10 20:31:59

gdwz2008 发表于 2007-8-16 17:39:51

这个可以用那个按钮克星突破。但是还有软件附带的广告词。

shardineblog 发表于 2007-8-16 22:38:40

缺憾美。。。呵呵。。。

绿色青蛙 发表于 2007-8-17 00:42:44

感觉是在云里雾里呢

gongsui 发表于 2007-8-22 10:15:30

我查了一下壳,Microsoft Visual C++ 6.0 [覆盖]
用messageboxa好像断下来的与楼主的不同

zxwbj 发表于 2007-9-9 17:36:38

youcn28 发表于 2007-9-13 22:11:46

学习了。。。。谢谢了
页: [1] 2 3
查看完整版本: 原创]破解蓝鸟灌水机功能