- UID
- 40684
注册时间2007-12-7
阅读权限10
最后登录1970-1-1
周游历练
该用户从未签到
|
【文章标题】: 计算机等级考试模拟练习一级B激活版做内存注册机
【文章作者】: gtboy
【软件名称】: 科慧尔全国计算机等级考试模拟练习一级B激活版
【软件大小】: 16.9 MB
【下载地址】: 完美者网站
【加壳方式】: 无
【保护方式】: 机器码
【编写语言】: VB
【使用工具】: od,keymake
【操作平台】: winxp sp3
【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
女朋友要考一级,想找个软件练习,搜到个适用于09年4月的一级B的激活版,随手装上试了下,还要注册。这可是表现的好机会。
先拿winhex试了下,明码比较,打开内存,很容易就找到注册码了。但咱不能让女友也这么做啊,还得做个注册机。技术太菜,这软件又明码比较,内存注册机是最好的选择。
注册信息保存在注册表中,删了,继续分析。
vb没怎么接触过,拿od载入,分析好长时间啊,直接空格取消,用F12暂停法就行。注册,错误,暂停。向上找找看,也没有发现啥。不知从哪里调用了这个rtcMsgBox。还是直接下比较的api吧。
设断点的插件很强大,找到vb apis,vbaStrCmp和vbaStrComp还有vbaI2Str上都下了断,再运行,注册。断在了vbaStrCmp,堆栈窗口已经出现了真假注册码。取消断点,返回,又断在了vbaStrComp,堆栈窗口依然出现了真假注册码。取消,返回,来到了程序领空。
0143C347 50 push eax ; 在这里下断
0143C348 51 push ecx
0143C349 FFD6 call esi ; 执行完eax出现真码,跟了下,进了vb库了
0143C34B 50 push eax
0143C34C FF15 48104000 call dword ptr ds:[<&MSVBVM60.#519>] ; MSVBVM60.rtcTrimBstr
0143C352 8BD0 mov edx,eax
0143C354 8D8D D4FEFFFF lea ecx,dword ptr ss:[ebp-12C]
0143C35A FF15 A0114000 call dword ptr ds:[<&MSVBVM60.__vbaStrMov>; MSVBVM60.__vbaStrMove
0143C360 50 push eax
0143C361 FF15 B4104000 call dword ptr ds:[<&MSVBVM60.__vbaStrCmp>; MSVBVM60.__vbaStrCmp
0143C367 8BF0 mov esi,eax
真码赤裸裸的出现在eax中,做注册机,嘿嘿。设置截图如下。
keymake不是很会用,开始设的时候结果里面总是有别的数存在。想了下,应该是在修改数据的对话框中选了保存下列信息为注册码,和右边的重复了。测试了下,自己的机子得到了真码。
软件注册成功保存些信息在注册表中,
Windows Registry Editor Version 5.00
[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\yjb]
[HKEY_CURRENT_USER\Software\VB and VBA Program Settings\yjb\StartUp]
"Height12"="29.7"
"Width12"="19.8"
"Left12"="18.5625"
"Top12"="24.75"
咋看都不像是注册信息么,搞不懂软件作者在想啥。这注册也过于容易了。
--------------------------------------------------------------------------------
【经验总结】
软件保护很弱,导入注册表是最简单的破解方法了,呵呵。机器码等于没有用么。
--------------------------------------------------------------------------------
【版权声明】: 本文原创于gtboy, 转载请注明作者并保持文章的完整, 谢谢!
2009年03月10日 15:42:53 |
|