求救:我想破解家庭象册这个软件,可始终不成功,请各位老师指点迷津。谢谢!!!
回复:
标 题:注册码很好找,用bpx __vbaStrCmp做断点即可,但是写注册机要花点功夫
(955字)
详细信息:
先加载MSVBVM60.DLL的符号表(最好不要同时加载MSVBVM50.DLL和MSVBVM60.DLL的符号表,否则断点应为bpx MSVBVM60!__vbaStrCmp),用bpx __vbaStrCmp设断点之后看见如下的指令段:
0167:00707F0C CALL 006FCE50 //计算注册号
0167:00707F11 MOV ECX,[EBP-18]
0167:00707F14 MOV EDX,[007320FC]
0167:00707F1A PUSH ECX //假注册号
0167:00707F1B PUSH EDX //正确的注册号
0167:00707F1C CALL [MSVBVM60!__vbaStrCmp]
0167:00707F22 TEST EAX,EAX
0167:00707F24 JNZ 007080A9
跟踪进 CALL 006FCE50则可以看见生成注册号的过程。根据程序指令可以证实微软的VB6程序确实是真正的EXE,跟用VC、Delphi等编译得到的EXE没有太大分别,而早期的VB4、VB3程序根本不能叫做真正的EXE程序。
另外,要写注册机的话最好先用SmartCheck看一下生成注册码的大致流程,然后再用SoftICE跟。困难在于微软没有公布MSVBVM50.DLL中的函数接口,所以该DLL中的函数的作用和参数都要靠猜。