【文章标题】: 小菜追寻注册码
【文章作者】: 年轻的兵
【作者QQ号】: 544872780
【使用工具】: OD
【破解声明】:仅为技术交流之用!别无恶意。
【操作平台】: XP-SP2
【软件简介】: VB代码库
放假空闲想看看vb,在网上找到了这个软件。做了次数限制,未注册版本只能使用30次。
这类次数限制都在注册表里写入使用次数,先用RegSnap拍照看了看。果然在
HKEY_CURRENT_USER\Software\VB and VBA Program Settings\Vbcool\Reginfo处有ReginfoNum的项。
简单的方法就是导出注册表,使之超过使用次数以后重新导入一便。更有胜者我们可以研究注册表值的特点
让他的使用次数接近天文数字。呵呵。
作为要求进步的小菜,肯定想要使用自己的名字注册。拿起“武器”准备开工~
先用peid查壳,Microsoft Visual Basic 5.0 / 6.0。正好省去我们脱壳的痛苦。
用od载入,一位这个程序启动后先弹出注册提示框,所以下断点bp rtcMsgBox。
f9运行后弹出注册框,随便填入注册信息,点确定后停在
00456840 55 push ebp
00456841 8BEC mov ebp,esp
00456843 83EC 0C sub esp,0C
00456846 68 06224000 push <jmp.&MSVBVM60.__vbaExceptHandler>
0045684B 64:A1 00000000 mov eax,dword ptr fs:[0]
单步f8
0045691C FF15 78104000 call dword ptr ds:[<&MSVBVM60.__vbaHresultCheckObj>] ; 获取假注册码
00456922 8B4D E4 mov ecx,dword ptr ss:[ebp-1C]
00456925 51 push ecx
00456926 68 7CF24000 push VB代码库.0040F27C
0045692B FF15 14114000 call dword ptr ds:[<&MSVBVM60.__vbaStrCmp>] ;获取用户名
00456931 8B55 E8 mov edx,dword ptr ss:[ebp-18]
继续单步走
00456A20 FF15 A8114000 call dword ptr ds:[<&MSVBVM60.__vbaStrVarVal>] ;算法call,要跟进
00456A26 50 push eax
00456A27 E8 74200100 call VB代码库.00468AA0
00456A2C 8BD0 mov edx,eax
跟进后,接着走。
没走两步就看见寄存器窗口出现一串数字,直觉告诉我这就是真的注册码了。
(本还想看看算法,可是没几步就给看晕了
。小菜也就不再继续了
)
复制注册信息,提示注册成功。到此结束吧,本人小菜。只能这么多了~
[课程]Android-CTF解题方法汇总!