三、
算号激活法使用工具:XP的算号器
The Blue List小组制作的All Microsoft XP Programs Keygen — Windows/Office/Visio — 微软XP产品套件Cd-Key(密匙)制作程序(图1),能随机并真实地计算出微软XP产品唯一的序列号(Cd-key),这个序列号能够无次数限制用于安装和激活这些产品。
真正“合法”地在微软“同意”下免费激活你的XP软体的新方法,用CPU计算出来的,可以通过网络和电话真正激活你的XP的CD KEY。支持包括WIN XP HOME/PRO/CROP. OFFICE XP/PRO/PLUS,你可以计算出你独一无二的CDKEY, 然后激活!
(图1)
使用方法:
其中“检查性能模式”是测试机器能在多长时间算一个号;“测试序号”是检查你输入的序号是否有效;“查找序号”就是进行算号了;“总共查找的数量”是查找序号的数量,最好是100以上;“查找的序列号数”一般输1以上就可以了。先选定要查找序号的软件(如WiNDOWS XP PRO),然后选上“在日志文件中保存找到的序号”,最后设定查找数量就可以按下“计算”进行xp序号查找,找到的序号有有效和无效之分,只有有效的序号才能用于激活,计算完毕后有效的序号会被保存在日志文件中,按下“显示日志”就可以查看找到的有效序号。接着就可以用这些序号重新安装Windows XP(未破解的)以及上网或用电话激活。有不少找到的序号不能安装,即使能安装也不一定能激活,这就看你的运气了。(注:据网上不少朋友的经验,对于PRO,只要挑011的;对于HOME,只要挑005的激活的成功率比较高。还有,联网激活过程失败后,在输了一个新的CD-KEY激活再失败的情况下,重新再输入新的CD-KEY前最好重新启动或注销一下,然后再去激活! 另有说法:1、安装的时候千万不要用算号器算出来的密钥,如果用了,你的windows xp就成为一个副本,是没有授权的,安装后系统管理员也是Owner而不是Administrator. 2、安装完成以后可以选择Internet激活,一定会提示你密钥不对,这个时候填入你算出来的密钥就可以执行了,如果还不对就重复上面的操作。3、请不要反复使用电话激活来更改授权密钥,否则很有可能被激活中心服务器封了ID,pro版的安装授权:CCC64-69Q48-Y3KWW-8V9GV-TVKRM; 家庭版的安装授权:BQJG2-2MJT7-H7F6K-XW98B-4HQRQ 。算出来的号很可能一个都不能激活,只要有耐心,多算几个一定会找到正确的。值得注意的是:在安装过程中一定要手动配置好网络,不要贪快。“手动配置网络”是指你安装好后需立即进行网上激活的,让它自动配置,结果XP的画面或会进不了,而IP、网关等都没设置,如何上得了网?方法二:选择电话激活,好像有一个更换密匙之类的选项,点击即可更换sn(用算出来的),然后生成新密钥,退出来,再进入激活,用这个办法是一次成功,要是不行多试几次。)
有效地运行算号器
一般情况下,那个算号器会占用几乎100%的CPU资源,给其他操作带来诸多不便。只要如图2所示进行设置,我们就会几乎感觉不到它的存在,而它又可以利用CPU的所有空闲进行疯狂工作了。
(图2)
辅助工具XpKeyTest (图3)
此测试程序用于检验WindowsXP的SN是否正确,可以在使用前先把安装盘的i386中的两个文件PidGen.dll和Setupp.ini复制到测试程序所在目录即可。检验结果与安装盘的版本号和语言有关,检验之前应该检查你的SN的适用版本和语言,检验通过的SN肯定可以用于安装,假如别人没有用此号激活过的话,应该可以用来激活。xp-check-sn用来配合算号器是最好。只要将算出的号码,用此xp-check-sn来测试,就可以免去安装才知道是否能激活(可以用于中、英文专业和家庭版)。此程序用于验证SN的有效性,若用于随机暴力破解,希望不大,C950上每秒运行10次,似乎验证时MS加了延时,若能够把PidGen中的验证延时去掉,则暴力破解有可能得到有效的SN。
(图3)
算号原理:
从Win95起,MS(注:即Microsoft,下同)的产品安装Key从原来的10位数字改为25位字符,这一改动,代表着MS告别了简单的校验和,从此投入了椭圆曲线法的怀抱。从密码学的角度来看,这绝对是一个里程碑, 因为当时椭圆曲线法仍在研究论证阶段,MS是第一个将之实用以商业产品的厂家。
那么在这25个字符里到底有什么呢?
1.Base24
这25个字符实际是114bits的数据用Base24进行UUCode后的结果,做为安装Key,这个Base必须绝对避免误认,所以MS选择了以下这24个字符做为UUCode的Base:BCDFGHJKMPQRTVWXY2346789
所以,如果你的安装Key 有这24个字符以外的字符的话,你完全可以把它丢到垃圾筒里去了━━不用试就知道它根本通不过了。
2.114 bits
UUDecode后得到的114位按Intel高位在后的格式表示如下:
[ X XXXXXXXX XXXXXXXX XXXXXXXXXXXXXXXXXX ] Total 114 Bits
| | | \ 55 Bits Sign
| | \ 28 Bits Hash
| \ 30 Bits Serial \ 31 Bits Data
\ 1 Bits Flag /
Flag: 不明标志,目前所见的各类Key中这一位总是为0。
Serial:用户序列号,转成十进制表示为AAAABBBBBB,对应显示为:
零售版:xxxxx-AAA-BBBBBBx-xxxxx
OEM版: xxxxx-OEM-0AAAABx-BBBBB
以上31bits总称为Data,是CDKey中的基本部分。
Hash:Data经特定处理得到的结果,见后文。
Sign:Hash值的椭圆曲线签名,见后文。
3.椭圆曲线签名算法
要说明椭圆曲线签名算法可不是一件容易的事,有兴趣的可以自己用“椭圆曲线”或是“elliptic curve”在搜索引擎找相关的资料来看吧,这里只简单介绍MS的用法。
所谓椭圆曲线是指这样一类曲线方程:
y^2 + a1*xy + a3*y = x^3 + a2*x^2 + a4*x + a6
在密码学里用的是它的两个特例,而MS用的更是这两个特例中的特例:
y^2 = x^3 + a*x + b ( mod p )
当a、b、p选定后,就可以确定一个椭圆曲线,再选择一个生成点 G(gx,gy),
于是,存在一个最小的整数q使得q*G=O,然后,再任意选择一个整数 kK(kx,ky)=k*G,这样椭圆曲线签名算法的Key就全生成了:
公开密钥为:a,b,p,G(gx,gy),K(kx,ky)
私有密钥为:a,b,p,G(gx,gy),q,k
要对Data签名时:
A.先任意选择一个整数rB.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash;
C.求Sign = r - Hash * k ( mod q );
D.把Data、Hash、Sign三个数组合后UUCode得到25位CDKey。
验证CDKey时:
A.把25位CDKey先UUDecode再拆分后提到Data、Hash、Sign;
B.求点R( rx, ry ) = Sing * G + Hash * K ( mod p );
C.将Data、rx、ry共100个字节求SHA-1,取结果中的28位得到Hash\\';
D.如果Hash = Hash\\',则该CDKey为有效Key。
4.BINK
从前面的说明可以看出,为了验证CDKey,MS 必须公开椭圆曲线签名算法中的公开密钥,那么这个公开密钥放在哪里呢?答案是在pidgen.dll里的BINK资源里(其他产品如Office则被包在*.MSI),而且一共有两组,从目前已知的Key组合来看,第一组密钥是用以零售版本的,第二组则用于OEM版本。两个产品的Key能否通用就在于对应的密钥是否相同,比如中文版的Windows 2000的Pro/Srv/AdvSrv的第二组密钥也是相同的,即一个PWindows 2000 Pro的OEM版的Key,可同时供 PWindows 2000 Srv/Adv的OEM版使用。
5.破解及其难度
要破解CDKey的生成算法,必须从MS 公开的密钥中求出对应的私有密钥,即只要求出q和k即可。从BINK中公开的密钥来看,p 是一个384 bits的质数,看起来计算量好象至少要O(2^168)才行,但MS设计中一个缺陷(?)使实际工作量降低到只有O(2^28)就可以了。
为什么相差这么远?
回头看看3.C中的式子: Sign = r - Hash * k ( mod q )
通常情况下q可以是很大的值,因此Sign应该也很大,但MS 为了减少用户输入的CDKey的数量,把Sign的值限死在55 bits,因此,自然也限定了q最多也不能超过56 bits。依此类推,由于k作者曾经在一台赛扬II 800的机器上只用6个小时就解出某组密钥的q值,最多时在一台雷鸟1G上用了28个小时才算出另一组密钥的k值, 其他平均大约都在十个小时左右就可以求出。
注:关于什么-640-和-005-,其实没什么意思,例如当我装xp打入序号为FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8,我的产品号就是55274-640-0000356-23174,而我打入3H87P-VHQGD-M74M6-8MHMH-3JRB3时,我的产品号就变成了55274-643-6941852-23174,这证明了什么?其实产品号的头五个key,是代表windows的版本,而接着的十个key,就是代表你装windows时输入的序号,最后的五个key是代表光盘的cd-code罢了.............所以,产品号不是-005-的都未必不能激活简体中文专业版的..................> >更多精彩技术文章>http://www.66of.com