首页
社区
课程
招聘
[原创]VB逆向速战速决《九阵医院信息管理系统》
发表于: 2007-7-7 20:03 12163

[原创]VB逆向速战速决《九阵医院信息管理系统》

2007-7-7 20:03
12163
软件:九阵医院信息管理系统
语言:VB
保护:无壳
授权:按医院名称、硬件编码、站点数量、模块个数授权
工具:IDA、smartchk、OD

既然是VB程序,首先用smartchk加载,启动,提示注册,随便输入注册码,注册。弹出注册错误的提示框。此时,查看smartchk捕获到的事件的最后,可以看到rtcMsgBox的调用,并且地址为0x0045CD6A。

IDA上场,定位到0x0045CD6A。记得在图形视图中查看,可以看到,rtcMsgBox所在的代码片段,有两个跳转来源。
往前看,其中一个来源处有__vbaStrCmp,记下地址0x0045C989;这是字符串比较函数,在如此重要的地方出现字符串比较函数,多数都是注册码明文比较了。
往前看另一个来源,发现__vbaVarTstEq,记下地址0x0045C818;
这里要说一下,smartchk捕获到出错的MsgBox所在,那么,它的前面就肯定有注册码比较或者验证的地方,所以,在MsgBox处往前看就是了,记住,是在视图中按流程往前看,而不是在w32dasm那样的代码视图中往前看。
下面,将在OD中,在这两个地址下断,并强制更改跳转的意图(跳改为不跳,不跳改为跳),为了不让它再跑到那个MsgBox处。当然,如果这两个地址都无效,那么,再往前找,直到找到有效的地址为止。不过,我实在想不到他们无效的可能,呵呵!~

OD成功断在0x0045C818,用F8单步,在0x0045C849处,不要跳转,F9继续。非常以外,断在0x0045C989处,而代码窗口的下面,显示着一个P开头的字符串。如果这个时候,在__vbaStrCmp附近碰到字符串,你还不懂该干嘛,那么,我建议你不要玩破解了!~

关闭OD,直接启动程序,输出刚才那个字符串作为注册码,注册成功。

这次运气可真是好到极点。

一些要注意的问题:
1,基本的功夫,还是要有的,比如:在OD中怎么样在调试时修改跳转。
2,基本的常识,要知道,VB程序,__vbaVarTstEq、__vbaStrCmp和rtcMsgBox是非常敏感的。
3,会看VB的汇编。呵呵,如果你像看VC的汇编那样看这个程序的汇编,那你就惨了。IDA默认会把VB函数显示成粉红色……
4,建议先学会VB再来破解VB,第3步中,那些可爱的粉红色的VB函数,就需要有一定的VB功底。

VB逆向群:1600800

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 0
支持
分享
最新回复 (12)
雪    币: 79
活跃值: (35)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
2
哦,忘了一点,这几个地址所在的函数,其实就是注册比较用的,如果要写注册机,就分析这个函数就可以了。

记得哦,只需要看可爱的粉红色的函数哦
2007-7-7 20:05
0
雪    币: 236
活跃值: (11)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
3
看不懂你写的是什么,但我只知道内存中可以看到注册码!
上传的附件:
2007-7-8 10:03
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
3楼看不懂这个还得了3个精华,真是奇怪
2007-7-8 20:05
0
雪    币: 224
活跃值: (13)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
哈哈,似呼有点搞笑。
2007-7-8 20:42
0
雪    币: 236
活跃值: (11)
能力值: ( LV9,RANK:180 )
在线值:
发帖
回帖
粉丝
6
估计你不懂什么叫 "逆向" !

要是破解就叫逆向, 那说明......
2007-7-8 21:25
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
7
楼主厉害 IDA 我还不会用 学习
2007-7-8 21:37
0
雪    币: 224
活跃值: (90)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
8
这个东西好像我也有做过内存注册机
2007-7-8 22:56
0
雪    币: 79
活跃值: (35)
能力值: ( LV2,RANK:150 )
在线值:
发帖
回帖
粉丝
9
实在不好意思,我破解的软件中,只有一两个是使用爆破的,其它的,全部都是注册机。所以我经常用IDA开汇编。
有时候为了拿到密码或者公钥,也经常修改汇编重新运行。
我不知道我这么做是不是叫做逆向,如果不是,还请newsoft多多指教^_^
2007-7-9 09:35
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
10
恩 是说的很透彻了
2007-7-9 12:48
0
雪    币: 2
活跃值: (77)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
很棒~~~思路都说出来了,很详细
2017-6-9 07:05
0
雪    币: 4441
活跃值: (805)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
12
仔细一看原来是2007年的帖子,再仔细一看10年前自己还回复过
2017-6-9 08:38
0
雪    币: 451
活跃值: (117)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
13
仔细一看,挖了个十年的坟
2017-6-9 10:49
0
游客
登录 | 注册 方可回帖
返回