CAB Station 1.0 分析+注册机
【文章标题】: CAB Station 1.0 分析+注册机
【文章作者】: 斜阳残雪
【作者邮箱】: zlm324@126.com
【下载地址】: http://www.onlinedown.net/soft/10954.htm;
注册机请到我网盘下载:
http://www.edisk.org/?zlm324
【编写语言】: VB
【使用工具】: PEiD+Ollydbg+KeyMake
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
本来是发在某帖的回复里面的,看到有兄弟建议我单独立文,我就再帖一遍:)
--------------------------------------------------------------------------------
【详细过程】
PEiD查壳,发现没有壳,编程语言是VB,有点麻烦。
用OD载入,点击“查看”、“可执行模块”、“MSVBVM60”,在_VbaStrCmp函数上下断点(这个函数是VB程序破解的经典下断之处呢)。
然后F9运行,被断下来,但不是我们要的地方(为什么?我跟了好长一段之后发现的),继续按F9五次之后,来到:
16468943 B8 48404616 mov eax, 16464048 ; UNICODE "SoftwareCode"
16468948 890B mov dword ptr [ebx], ecx
1646894A 8B4D BC mov ecx, dword ptr [ebp-44]
1646894D 8945 C0 mov dword ptr [ebp-40], eax
16468950 894B 04 mov dword ptr [ebx+4], ecx
16468953 8943 08 mov dword ptr [ebx+8], eax
16468956 8B45 C4 mov eax, dword ptr [ebp-3C]
16468959 56 push esi
1646895A 8943 0C mov dword ptr [ebx+C], eax
1646895D FF92 90030000 call dword ptr [edx+390]
16468963 3BC7 cmp eax, edi
发现关键字符“SoftwareCode”,继续F8单步,好长一段之后,又来到:
16468668 52 push edx
16468669 50 push eax
1646866A FFD3 call ebx ;机器码和"2cab2station2"组合
1646866C 8B3D A4114616 mov edi, dword ptr [<&MSVBVM60.__vba>; MSVBVM60.__vbaStrMove
16468672 8BD0 mov edx, eax
16468674 8D4D D8 lea ecx, dword ptr [ebp-28]
16468677 FFD7 call edi
16468679 50 push eax
1646867A 68 18404616 push 16464018 ; UNICODE "123"
1646867F FFD3 call ebx ;1646866A处组合的字串再与"123"组合
16468681 8BD0 mov edx, eax
16468683 8D4D D4 lea ecx, dword ptr [ebp-2C]
16468686 FFD7 call edi
16468688 50 push eax
16468689 E8 62730000 call 1646F9F0 ;关键Call,返回后,真注册码的地址放于EAX中
1646868E 8BD0 mov edx, eax
16468690 8D4D E8 lea ecx, dword ptr [ebp-18]
16468693 FFD7 call edi
于是打开KeyMake,在1646868E下断,指令长度2,第一字节8B,中断次数1,内存方式保存EAX为注册码,记得把“宽字符串”勾上,注册机制作完毕。
--------------------------------------------------------------------------------
【经验总结】
VB写的程序调试起来好乱,不过有VbaStrCmp之类的“优秀”函数,还是不错的:)
这个软件的主程序模块里面都是一些jmp、dd之类的指令,上面分析中的代码段都是在一个叫nl...4(记不清了
)的模 块里出现的,而那是一个ocx控件,貌似作者把某些Sub或Function给独立出去了。
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!