• 标 题:大客过来看看这个软件:唤醒者 1.2.68如何破? http://www.newhua.com/huanxz.htm (空)
  • 作 者:1212
  • 时 间:2001-3-3 17:24:50
  • 链 接:http://bbs.pediy.com

  • 标 题:MSVBVM5.0的一个有趣的现象,兼谈“唤醒者”的。。。。 (1千字)
  • 作 者:1212
  • 时 间:2001-3-7 14:00:15

MSVBVM5.0的一个有趣的现象,兼谈“唤醒者”的。。。。
我们知道用p-code方式编译的程序的确很难破解,因为我们跟踪用这种方式编译的程序时,看不到程序作者写的程序,只能看到vb的程序,我们只能在微软设计好的vb程序里面兜圈子,但是在兜圈子的过程中,作者的程序已经在执行了。
在对“唤醒者”的跟踪过程中,想找到作者的比较注册码的程序,可以说是一无所获,根本看不到程序是如何运行的,但是也不能说是没有收获,发现了另外的一个有趣的现象,并且能把这个程序破解掉。
运行“唤醒者”。
首先用msvbvm50.rtcmsgbox中断,然后运行程序的电子注册,等SoftICE出现后,在唤醒者的4045cc处中断(我叫它中断1)和在msvbvm50的7637d549(中断2)处中断,我们看到在中断2处是一个条件转移。
现在保留中断1,把别的中断BD掉。
运行注册程序,随便输入注册码,点击注册,中断1会起作用,然后把中断2激活,按8次F5后(即经过中断2处8次后),会弹出来注册失败的对话框。
现在把中断2BD掉(不然的话,它会一直跳出来)重复上面的过程,只是在中断2处经过7次,然后下命令“r fl z”,你会发现,弹出来的是注册成功的对话框。爽否?
我推测,这里是vb来解释程序的消息循环里面的消息的过程,不跳走就执行这个消息对于的程序功能,跳走就去解释下面的一个消息。
我们可以做下面的试验来验证一下。
再运行注册程序,在第1次经过中断2时,下命令“r fl z”,你会发现程序运行的是“设置”的对话框;
再运行注册程序,在第2次经过中断2时,下命令“r fl z”,你会发现程序运行的是“音乐顺序”的对话框;



等等。
你还可以用另外的程序来试试是否这样的。
对了,再告诉一句,如果你注册成功后,电子注册那个按钮没有了,变成了“关于”,没办法做上面的试验,你只要把
c:\windows\BoobRou.dll这个文件里面的r=Boo的Boo换成别的就行了。

  • 标 题:不错,这种情况在VB6中也是一样,对付VB的PAGE-CODE方式编译的程序最有效! (409字)
  • 作 者:china 2000
  • 时 间:2001-3-8 17:15:03

不错,这种情况在VB6中也是一样,只是地址不同而已。
目前用来对付VB的PAGE-CODE方式编译的程序最有效!
但要注意一个在VB的MSVBVM50.DLL或MSVBVM60.DLL中如何定位的问题。
因为VB动态链接库在内存中是变换地址的。
就象上面这位msvbvm50的(中断2)在7637d549处
而我的msvbvm50的(中断2)在799Ad549处。
后面的四位是不会变的,前面的四位是会变的。
谁有好方法能快速定位?
同样,前几天有人提出的股票之星3.0也可以这样破解。