安全中国首页 > 文章中心 > 逆向工程技术
 
破解平安全息万年历
更新时间:2008-1-24 0:06:39
责任编辑:阿loosen
热 点:

用程序编号的偶数位和注册号码的奇数位组成一个十进制数,再乘以2,用乘 
积作为下标去查表(查表用的是函数rtcMidBStr,用bpx rtcMidBStr do "d *(esp+4)" 
可以看见表格,即传递给该函数的第一个参数是表格的首地址, 
第二个参数是下标)。由于程序编号和注册号码均为8位,故这样总共可以从表中查到4个字节。 
再从其它地方得到4个字节(这4个字节是如何得到的尚未完全搞清楚), 
总共得到8个字节, 用__vbaStrComp( )将这8个字节和另外的8个字节(这 
8个字节是如何得到的也没搞清楚,随程序编号的不同而不同)相比较, 
如果相同则注册成功。我曾经修改__vbaStrComp( )的返回值强行注册成功, 
但是启动的时候检查通不过,它又生成一个新的程序编号让我再注册。 
p-code形式的VB程序也不好patch :-( 

生成程序编号好像根据的是如下文件的时间: 
c:\windows 
c:\program files\xxxxx(乱码,可能是“平安全息万年历”) 
注册码似乎放在这里: 
c:\windows\benjitzm.txt 

 
相关文章
48小时热门文章
 
48小时热门软件
48小时热门动画