《家庭理财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函数很重要。
------------------------------------------------------------------------
【版权声明】本文纯属技术交流, 转载请注明作者信息并保持文章的完整, 谢谢! 现在重启验证的越来越多咯。。。,学习中,已收藏! 深度学习中,,,谢谢 好好的看过了·! 查到注册码保存的地方,这样也可以追出重启验证的地方 是啊 我也是菜鸟 就是感觉重起验证的软件最麻烦 搞不定! 重启验证,,,还真的好好学习 学习收藏XX 好东西啊 支持 重启的软件太多,要求验证,学习一下方法.
页:
[1]
2