Iceman 发表于 2005-11-24 20:11:54

《家庭理财ver:1.3.3》重启验证

《家庭理财ver:1.3.3》重启验证

【破文标题】《家庭理财ver:1.3.3》重启验证

【破文作者】Iceman

【破解工具】OD

【破解平台】XP

【软件名称】家庭理财ver:1.3.3

【原版下载】http://www4.skycn.com/soft/22911.html

【破解声明】我是一只菜菜鸟,偶得一点心得,愿与大家分享^_^

============================================================================================
【破解过程】

一、查壳无壳 Microsoft Visual Basic 5.0 / 6.0编写

二、注册软件,“您好,感谢您的大力支持!按【确定】后请重新登录本软件!”
    这个说明,不是直接验证注册码。
    注册名:Iceman             注册码:1111 2222 3333 4444   

三、软件重启时,应该有比较注册码的地方,在命令行运行“bp __vbaStrCmp”。这是一个VB程序比较字符的函数。
   
运行“bp __vbaStrCmp”,后,F9运行。程序中断下来

660E8A03 M>FF7424 08       push dword ptr ss:      //中断在这里。
660E8A07   FF7424 08       push dword ptr ss:
660E8A0B   6A 00         push 0
660E8A0D   E8 B426F3FF   call MSVBVM60.__vbaStrComp

这时,不应该理会这个中断,因为它还没到软件比较注册码的地方。这个软件,得选择家庭名称后,才验证注册码,我在这里,也浪费了不少时间。。。。。。。。。

按几次F9后,来到用户登录界面,选择一个家庭登录,程序又被中断了。嘿嘿,关键地方到了。注册码逃不出我们的手掌心了。

660E8A03 M>FF7424 08       push dword ptr ss:       //还是停在这里,因为刚才下的那个断点
660E8A07   FF7424 08       push dword ptr ss:       //看到ECX里,UNICODE“Iceman”,用户名
660E8A0B   6A 00         push 0
660E8A12   C2 0800         retn 8                        //返回                     


00591AD6    .FF15 18114000 call dword ptr ds:[<&MSVBVM60.__vb>;MSVBVM60.__vbaStrCmp //下断的API函数
00591ADC    .85C0          test eax,eax                  //来到这里。一路按F8
00591ADE    .75 0A         jnz short PFin.00591AEA
00591AE0    .BA 64744400   mov edx,PFin.00447464
00591AE5    .8D4D DC       lea ecx,dword ptr ss:
00591AE8    .FFD7          call edi                           ;<&MSVBVM60.__vbaStrCopy>
00591AEA    >E8 B1370A00   call PFin.006352A0
00591AEF    .8BD0          mov edx,eax
00591AF1    .8D4D D8       lea ecx,dword ptr ss:
00591AF4    .FFD6          call esi
00591AF6    .68 80744400   push PFin.00447480               ;UNICODE "Txt='"
00591AFB    .8D55 D8       lea edx,dword ptr ss:
00591AFE    .52            push edx
00591AFF    .8D45 DC       lea eax,dword ptr ss:
00591B02    .50            push eax
00591B03    .E8 C83B0A00   call PFin.006356D0            //产生一个16位的,UNICODE码,应该是注册码了
00591B08    .8BD0          mov edx,eax                     和我们的注册码一样长。继续跟下去。
00591B0A    .8D4D D4       lea ecx,dword ptr ss:      “WSQS3VQX[R0PSQ[Z”
00591B0D    .FFD6          call esi
00591B0F    .50            push eax
00591B10    .FF15 70104000 call dword ptr ds:[<&MSVBVM60.__vb>;MSVBVM60.__vbaStrCat
00591B16    .8BD0          mov edx,eax
00591B18    .8D4D D0       lea ecx,dword ptr ss:
00591B1B    .FFD6          call esi
00591B1D    .50            push eax
00591B1E    .68 F4744400   push PFin.004474F4
00591B23    .FF15 70104000 call dword ptr ds:[<&MSVBVM60.__vb>;MSVBVM60.__vbaStrCat
00591B29    .8BD0          mov edx,eax
00591B2B    .8D4D C8       lea ecx,dword ptr ss:
00591B2E    .FFD6          call esi
00591B30    .BA 6C744400   mov edx,PFin.0044746C            ;UNICODE "Memory"
00591B35    .8D4D CC       lea ecx,dword ptr ss:
00591B38    .FFD7          call edi
00591B3A    .8D4D C8       lea ecx,dword ptr ss:
00591B3D    .51            push ecx
00591B3E    .8D55 CC       lea edx,dword ptr ss:
00591B41    .52            push edx
00591B42    .E8 F9A00000   call PFin.0059BC40               //F8,过这里后,又一次停下来
                                                                  如果F7进去,会看到有一些SQL语句

660E8A03 M>FF7424 08       push dword ptr ss:         //EAX中,看到那个16位的UNICODE 停在这
660E8A07   FF7424 08       push dword ptr ss:
660E8A0B   6A 00         push 0
660E8A0D   E8 B426F3FF   call MSVBVM60.__vbaStrComp
660E8A12   C2 0800         retn 8


如果再跟下去,会发现,有很多SQL查询语句,从MENORY中查询   
按我的理解,程序重启后,会在内存中,做注册码比较,如果比较结果相等,那么软件注册成功。
我也不清楚,这观点是否正确,毕竟,我汇编不是很懂。


关闭OD,试注册
用户名:Iceman   WSQS3VQX[R0PSQ[Z,做为注册码试下。注册成功
------------------------------------------------------------------------
【破解总结】破解这个软件,只要知道下哪个断点,很快就能破解。学习破解,学习到一定程度,就会觉得API函数很重要。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢!

听听雨吧 发表于 2005-11-27 14:25:32

现在重启验证的越来越多咯。。。,学习中,已收藏!

阿才 发表于 2005-11-29 17:14:13

深度学习中,,,谢谢

avel 发表于 2006-9-22 21:10:29

好好的看过了·!

Rason 发表于 2006-9-23 01:46:02

查到注册码保存的地方,这样也可以追出重启验证的地方

hankaifei 发表于 2006-9-23 12:20:58

是啊 我也是菜鸟 就是感觉重起验证的软件最麻烦 搞不定!

cfanlane 发表于 2006-10-1 13:14:02

重启验证,,,还真的好好学习

mswhy 发表于 2006-10-2 13:41:02

学习收藏XX

rayicy 发表于 2006-11-13 15:13:35

好东西啊 支持

aoshxi001 发表于 2007-2-2 12:33:55

重启的软件太多,要求验证,学习一下方法.
页: [1] 2
查看完整版本: 《家庭理财ver:1.3.3》重启验证