WIN XP激活方法一
WIN XP激活方法剖释(xp完全攻略)
激活方法剖释

一、 替换激活法(V3)

方法一:8文件替换法

第一步,把八个文件拷贝到i386目录下覆盖原文件(当然是拷到硬盘去安装):

dpcdll.dl_
oembiso.bi_
oembios.ca_
oembiso.da_
oembios.si_
pidgen.dll
setupp.ini
setupreg.hiv
第二步,用sn:FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8安装。
(在Dos下安装前千万不要忘了加上这一条命令:“Smartdrv.exe”(此此命令在
win98光盘中可以找到)否则漫长的等待会要你命的。)
第三步,安装完成后先进入普通的安全模式,
首先进入C:\WINDOWS\system32\中找到shell32.dll这个文件把这个文件改名,随
便改什么然后删掉,再把破解的shell32.dll文件复制过来。
(说明一下:大家可能因为在安装过程中把C盘转换成了NTFS文件系统,所以在
dos下是看不到的,c盘其实是d盘,大家也可以用xp的光盘启动进入控制台用copy
也可以)
然后执行ra.bat、pj.reg、zx2.reg。(这三个文件可以自己用记事本写然后另存
为相应的扩展名就可以了
这个改了的ra.bat文件的内容是:
cd c:\WINDOWS\srchasst\mui
md 1004
copy c:\WINDOWS\srchasst\mui\0804\*.* 1004\*.*

cd c:\windows\system32\oobe
md mui
cd mui
md 0804
copy c:\windows\system32\oobe\*.* 0804\*.*
(批处理命令已经包括了1.在 WINDOWS\srchasst\mui下新建一个1004文件夹,把
同目录下的0804文件夹中的所有文件(包括文件夹?),复制到1004文件夹中(解
决了搜索出错问题);4.包括在windows\system32\oobe\下新建mui\0804,把
windows\system32\oobe\下的所有文件都复制到0804文件夹中(为了用
oobe/msoobe /a能看到激活画面)。)
(如果不是安装到C:\windows则要修改ra.bat中的C:\windows为相应目录!!!)

修改过的pj.reg的内容为:
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Language]
"InstallLanguage"="1004"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Nls\Language]
"InstallLanguage"="1004"

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language]
"InstallLanguage"="1004"

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\MUILanguages]
"UIFontSubstitute"=dword:00000001
"1004"="1"
"0804"="1"
"MatchSystemLocale"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet002\Control\Nls\MUILanguages]
"UIFontSubstitute"=dword:00000001
"1004"="1"
"0804"="1"
"MatchSystemLocale"=dword:00000001

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\MUILanguages]

"UIFontSubstitute"=dword:00000001
"1004"="1"
"0804"="1"
"MatchSystemLocale"=dword:00000001

修改过的zx.reg
Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\ControlSet001\Control\Nls\Language]
"0401"="l_intl.nls"
"0402"="l_intl.nls"
"0403"="l_intl.nls"
"0404"="l_intl.nls"
"0405"="l_intl.nls"
"0406"="l_intl.nls"
"0407"="l_intl.nls"
"0408"="l_intl.nls"
"0409"="l_intl.nls"
"040a"="l_intl.nls"
"040b"="l_intl.nls"
"040c"="l_intl.nls"
"040d"="l_intl.nls"
"040e"="l_intl.nls"
"040f"="l_intl.nls"
"0410"="l_intl.nls"
"0411"="l_intl.nls"
"0412"="l_intl.nls"
"0413"="l_intl.nls"
"0414"="l_intl.nls"
"0415"="l_intl.nls"
"0416"="l_intl.nls"
"0418"="l_intl.nls"
"0419"="l_intl.nls"
"041a"="l_intl.nls"
"041b"="l_intl.nls"
"041c"="l_intl.nls"
"041d"="l_intl.nls"
"041e"="l_intl.nls"
"041f"="l_intl.nls"
"0420"="l_intl.nls"
"0421"="l_intl.nls"
"0422"="l_intl.nls"
"0423"="l_intl.nls"
"0424"="l_intl.nls"
"0425"="l_intl.nls"
"0426"="l_intl.nls"
"0427"="l_intl.nls"
"0429"="l_intl.nls"
"042a"="l_intl.nls"
"042b"="l_intl.nls"
"042c"="l_intl.nls"
"042d"="l_intl.nls"
"042f"="l_intl.nls"
"0436"="l_intl.nls"
"0437"="l_intl.nls"
"0438"="l_intl.nls"
"0439"="l_intl.nls"
"043e"="l_intl.nls"
"043f"="l_intl.nls"
"0440"="l_intl.nls"
"0441"="l_intl.nls"
"0443"="l_intl.nls"
"0444"="l_intl.nls"
"0446"="l_intl.nls"
"0447"="l_intl.nls"
"0449"="l_intl.nls"
"044a"="l_intl.nls"
"044b"="l_intl.nls"
"044e"="l_intl.nls"
"044f"="l_intl.nls"
"0450"="l_intl.nls"
"0456"="l_intl.nls"
"0457"="l_intl.nls"
"045a"="l_intl.nls"
"0465"="l_intl.nls"
"0801"="l_intl.nls"
"0804"="l_intl.nls"
"0807"="l_intl.nls"
"0809"="l_intl.nls"
"080a"="l_intl.nls"
"080c"="l_intl.nls"
"0810"="l_intl.nls"
"0813"="l_intl.nls"
"0814"="l_intl.nls"
"0816"="l_intl.nls"
"081a"="l_intl.nls"
"081d"="l_intl.nls"
"082c"="l_intl.nls"
"083e"="l_intl.nls"
"0843"="l_intl.nls"
"0c01"="l_intl.nls"
"0c04"="l_intl.nls"
"0c07"="l_intl.nls"
"0c09"="l_intl.nls"
"0c0a"="l_intl.nls"
"0c0c"="l_intl.nls"
"0c1a"="l_intl.nls"
"1001"="l_intl.nls"
"1004"="l_intl.nls"
"1007"="l_intl.nls"
"1009"="l_intl.nls"
"100a"="l_intl.nls"
"100c"="l_intl.nls"
"1401"="l_intl.nls"
"1404"="l_intl.nls"
"1407"="l_intl.nls"
"1409"="l_intl.nls"
"140a"="l_intl.nls"
"140c"="l_intl.nls"
"1801"="l_intl.nls"
"1809"="l_intl.nls"
"180a"="l_intl.nls"
"180c"="l_intl.nls"
"1c01"="l_intl.nls"
"1c09"="l_intl.nls"
"1c0a"="l_intl.nls"
"2001"="l_intl.nls"
"2009"="l_intl.nls"
"200a"="l_intl.nls"
"2401"="l_intl.nls"
"2409"="l_intl.nls"
"240a"="l_intl.nls"
"2801"="l_intl.nls"
"2809"="l_intl.nls"
"280a"="l_intl.nls"
"2c01"="l_intl.nls"
"2c09"="l_intl.nls"
"2c0a"="l_intl.nls"
"3001"="l_intl.nls"
"3009"="l_intl.nls"
"300a"="l_intl.nls"
"3401"="l_intl.nls"
"3409"="l_intl.nls"
"340a"="l_intl.nls"
"3801"="l_intl.nls"
"380a"="l_intl.nls"
"3c01"="l_intl.nls"
"3c0a"="l_intl.nls"
"4001"="l_intl.nls"
"400a"="l_intl.nls"
"440a"="l_intl.nls"
"480a"="l_intl.nls"
"4c0a"="l_intl.nls"
"500a"="l_intl.nls"
"InstallLanguage"="0409"
"Default"="0804"
此文件改进了识别驱动上的问题(应该是这样的吧,我家没有运行这个文件声卡和
手柄的驱动就识别不了还有兔子魔法的设置也不能保存)
重启xp,如果出现非简体的菜单,则在控制面板--)日期和时间设置、区域和语
言设置--》把所有的中文(简体)和中国都选上,甚至不用重新启动,只要注销
后再进去就可以了。
运行oobe/msoobe /a命令检查,显示已经激活!
(据说覆盖后安装,安装完成后,第一次不一定要进入安全模式。)
这个破解包如何得到?除了上网下载再修改外,八个覆盖文件和shell32.dll可以
在新的碟上找到。
不怕累的再把以下看一看:
注册文件在注册表语言里选0600的(微软所不识别的代码),则更新有问题。
语言里选0409(英语),则UPDATA下的程序全部是E文的,UPDATA以后,同IE等关
联的拨号程序是E文的。
注册表语言里选1004(中文(新加坡)),采用1004的新加坡代码则解决了
UPDATA的中文更新问题 。
shell32.dll里的语言代码由原来的中文改为其它非中文都可绕过激活,原来是改
为0409(英语),现在最新的为1004,因为新加坡也用中文,但也能骗过微软的激
活程序 。
有人说试过更改不更改shell32.dll的语言页面为1004都可以,只要不是0804(即
简体中文)就可以。
我下载得到的shell32.dll右击点属性,显示语言代码是中文(台湾)(0404)。
如何修改?用Resource Harker软件(http://www.gb-2312. ;
com/down/Gxz-rh3210.zip),修改shell32.dll 的代码页为 1004 (新加坡)的
方法是:把Version Info\1\2050的右栏两个0404改为1004,另存为新的shell32.
dll 。
在区域和语言选项的语言设置页面里,“菜单和对话框中所用的语言”选项有两个
中文(简体)可选,选择另一中文(简体)后注销重新进入,即可解决记事本中右
键繁体菜单、控制面板中部分按钮繁体字和浏览器地址栏右键繁体菜单问题。


方法二:11文件替换法

1、把11个文件拷贝到i386目录下:

dpcdll.dl_
oembiso.bi_
oembios.ca_
oembiso.da_
oembios.si_
pidgen.dll
setupp.ini
setupreg.hiv

hivesys.inf

login.cm_

shell32.dl_

2、用sn:FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8安装,搜索、更新没有问题,在区域和
语言选项中的语言页也没有以前的2个“中文(简体)”一次成功。

优点:解决了8文件替换法带来的搜索,更新等问题,是最早的完美破解

缺点:主要使用免激活的英文版同名文件替换覆盖,系统菜单部分显示为英文,而
且仅仅针对专业版


方法三:V3神州版

将11个文件替换为新加坡免激活版本文件,标志为c:
\windows\system32\shell32.dll文件版本语言显示为“中文(新加坡)”,即所
谓V3神州版。此种方法能够完全激活XP,全中文显示,能够在线升级,但存在不能
选择安装分区(11月23日神州版、12月8日神州改良版存在此问题,12月25日神州圣
诞版、12月30日神州最终版得以解决)、时间调到2088年系统出错等后遗症。


二、 破解激活法(V4)

方法一:1.1版激活法

一个俄国黑客组织 — SAD Team 经过长达数月的潜心研究,终于全面破解了微软
引以为荣产品激活功能,包括Windows XP和现在还处于beta版状态的Windows .NET
Server的产品激活功能。这一破解过程异常简单,只要对两个系统文件进行更换
就可以骗过Windows,让它认为自己已经被激活了。这两个文件分别是winlogon.
exe和licdll.dll。
使用方法:安装Windows XP后(安装之前不要覆盖i386下的文件),在30天以内,在
启动时按F8进入安全模式,运行该破解补丁,再重启,就OK了。

优点:官方破解,品质保证 缺点:破解者是老外,其中文版本不是纯中文,还留
了点英文,留了点俄语


方法二:修改10字节激活法

这是稻草和紫色流星根据对SAD Team的破解方法的研究,只修改了winlogon.exe中
10个字节,从而激活Windows XP(此方法适用于winxp的所有版本)。

修改方法:

用UltraEdit-32打开winlogon.exe(要原版)
1、用热键 Ctrl+G
     输入 0x39662h
     enter(回车)
     修改 以下的 16进制 代码 
     把   8B D1 57 33 C0 89 02 89 42 08
     改为  C7 06 01 00 00 00 83 EE 04 C3 即可
2、修正checksum,在地址0x158h(十进制344)处
     把   D2 6E
     改成  3B 07


关于Checksum:

在winnt.h中关于PE文件头的定义:

typedef struct _IMAGE_NT_HEADERS
{
  DWORD Signature;              //PE文件头标志 :“
PE\0\0”。在开始DOS header的偏移3CH处所指向的地址开始
  IMAGE_FILE_HEADER FileHeader;        //PE文件物理分布的信息

  IMAGE_OPTIONAL_HEADER32 OptionalHeader;   //PE文件逻辑分布的信息

}IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;

typedef struct _IMAGE_FILE_HEADER
{
  WORD  Machine;              //该文件运行所需要的CPU
,对于Intel平台是14Ch
  WORD  NumberOfSections;          //文件的节数目
  DWORD  TimeDateStamp;           //文件创建日期和时间
  DWORD  PointerToSymbolTable;        //用于调试
  DWORD  NumberOfSymbols;          //符号表中符号个数
  WORD  SizeOfOptionalHeader;        //OptionalHeader 结构大

  WORD  Characteristics;          //文件信息标记,区分文件
是exe还是dll
}IMAGE_FILE_HEADER, *PIMAGE_FILE_HEADER;

typedef struct _IMAGE_OPTIONAL_HEADER
{
  WORD  Magic;               //标志字(总是010bh)
  BYTE  MajorLinkerVersion;         //连接器版本号
  BYTE  MinorLinkerVersion;         //
  DWORD  SizeOfCode;             //代码段大小
  DWORD  SizeOfInitializedData;       //已初始化数据块大小
  DWORD  SizeOfUninitializedData;      //未初始化数据块大小
  DWORD  AddressOfEntryPoint;        //PE装载器准备运行的PE文
件的第一个指令的RVA
  DWORD  BaseOfCode;             //代码段起始RVA
  DWORD  BaseOfData;             //数据段起始RVA
  DWORD  ImageBase;             //PE文件的装载地址
  DWORD  SectionAlignment;          //块对齐
  DWORD  FileAlignment;           //文件块对齐
  WORD  MajorOperatingSystemVersion;    //所需操作系统版本号
  WORD  MinorOperatingSystemVersion;    //
  WORD  MajorImageVersion;         //用户自定义版本号
  WORD  MinorImageVersion;         //
  WORD  MajorSubsystemVersion;       //win32子系统版本。若PE
文件是专门为Win32设计的
  WORD  MinorSubsystemVersion;       //该子系统版本必定是4.0
否则对话框不会有3维立体感
  DWORD  Win32Versionvalue;         //保留
  DWORD  SizeOfImage;            //内存中整个PE映像体的尺

  DWORD  SizeOfHeaders;           //所有头+节表的大小
  DWORD  CheckSum;              //校验和
  WORD  Subsystem;             //NT用来识别PE文件属于哪
个子系统
  WORD  DllCharacteristics;  
  DWORD  SizeOfStackReserve;  
  DWORD  SizeOfStackCommit;   
  DWORD  SizeOfHeapReserve;   
  DWORD  SizeOfHeapCommit;   
  DWORD  LoaderFlags;      
  DWORD  NumberOfRvaAndSizes;  
  IMAGE_DATA_DIRECTORY
DataDirectory[IMAGE_NUMBEROF_DIRECTORY_ENTRIES];
}IMAGE_OPTIONAL_HEADER32, *PIMAGE_OPTIONAL_HEADER32;

typedef struct _IMAGE_DATA_DIRECTORY
{
  DWORD  VirtualAddress;         //表的RVA地址
  DWORD  Size;              //大小
}IMAGE_DATA_DIRECTORY, *PIMAGE_DATA_DIRECTORY;

使用方法:
    方法一:如果是在安装完系统后覆盖winlogon.exe出现“winlogon.exe被
系统调用”没法修改;而且文件系统为ntfs的解决方法如下:
     正常模式里也可以替换的,做个批处理,和要替换的 winlogon.exe放在
一起并执行就可以了,内容如下:
      sfc /purgecache
     ren %windir%\system32\winlogon.exe winlogon.bak
     copy winlogon.exe %windir%\system32
     shutdown -r -t 00
     方法二:如果是全新安装(或刻盘)
把winlogon.exe压缩成winlogon.ex_ 放到安装目录i386下覆盖同名文件就好
压制winlogon.ex_:用 cabarc.exe (此程序在xp 安装目录
support/tools/support.cab下) 

把cabarc.exe 和 winlogon.exe放到一个目录

命令:cabarc.exe -m lzx:21 n winlogon.ex_ winlogon.exe  

优点:由中文原版破解得到,对系统改动最小 缺点:没有修改licdll.32,微软有
可能通过此licdll32.dll还原系统的winlogon.exe

   

方法三:良良的激活法

修改方法:

这是良良根据以上两种激活方法加以整理优化得出的三文件完美破解方法,使用的
三个文件为:

winlogon.exe:是破解的主文件,就是通过对它的修改骗过使得XP激活,改动基于
简体中文原版,改动如下:地址0x00039662h的10个字节

licdll.dll: 是破解的副文件,据多次测试,不修改此文件对WINDOWS的激活没有
影响,系统运作也很正常,修改时间到2099年,升级等也都没有问题。破解者

SAD TEAM的stickpin说这个文件防止MS通过某种手段替换回winlogon.exe和防止一
些未知的问题,改动基于Sadteam版本,改动如下:1049(俄罗

斯)改为2042(中国)

browselc.dll:解决IE按Ctrl+Enter跳出的是co.cn而不是.com的问题


使用方法:

首先你需要有原版的WindowsXP简体中文Pro/Home,然后把下载的recommended.rar
解压得到的三个文件复制到I386目录下覆盖原文件,接着使用任意30天序列号安装
即可。

优点:基于两种破解,全部中文化,即所谓的V4神州完美版。此种方法解决了
2088千年虫问题,并做到对原版系统的最小改动,是真正的中文破解激活版。


三、 算号激活法

使用工具: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,然后,再任意选择一个整数 k
K(kx,ky)=k*G,这样椭圆曲线签名算法的Key就全生成了:
公开密钥为:a,b,p,G(gx,gy),K(kx,ky)
私有密钥为:a,b,p,G(gx,gy),q,k
要对Data签名时:
A.先任意选择一个整数r B.将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 是两个最多2^56的数据而已,用目前最普通的算法也只有O(2^28)的工作量。
作者曾经在一台赛扬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-的都未必
不能激活简体中文专业版的..................


恢复原版XP:

使用算号法激活有一个前提是必须使用原版的XP,如果原来是替换激活或是破解激
活的朋友就可以用以下方法恢复为原版:

一、替换激活:

只需把用于替换的8个或11个原版文件覆盖回i386目录下的同名文件就可以了。

二、破解激活:

若你准备重装XP,可直接将licdll.dl_和Winlogon.ex_拷进I386文件,替换原文件
即可。

若你已安装了XP,可先把原版没破解过的licdll 和winlogn拷进system32里你可以
在安全模式下进入安装盘里support目录里 再进入tools里面的delpoy文件里点击
sysprep.exe然后选择重新封装,完成后电脑会自动关机,然后重启就可以了。 
                        


OEM版问题:

因为算号器里并没有OEM版的选项,所以一般上OEM版的Windows XP并不能用算号法
激活,但可以用以下方法解决:将 I386目录中 SETUPP.INI 中的 Pid=55660OEM
改为55660335 即可,安装时用算号器算出的 CDKEY 就可通过安装并在网上激活。


解锁你Windows XP的setupp.ini
Windows XP 的setupp.ini控制CD怎样运行,无论你的XP 版本是否OEM版。首先,
找到在i386文件夹中找到setupp.ini文件,将其打开你会看到类似如下的语句:
ExtraData=707A667567736F696F697911AE7E05 Pid=55034000
这列数字中的“Pid”数值就是我们兴趣之所在。这看起来是默认值。
有一个特别的数字决定你使用的XP是零售版本、还是OEM、还是正式授权版本。首
先我们把这串数字分成两部分,前五个数字决定你的CD如何运行,就比如像零售版
本既可以生机安装,也可以完全重新安装,但是OEM版本却只能完全重新安装一样
。 后三个数字决定那种CD Key将会被接受。就比如像你有XP的零售版,但是却是
OEM的CD Key……
说完了基本原理,下面就是实际的工作了,记住这列数字很有用:
零售版:51882 335 授权版:51883 270 OEM版:82503 OEM
于是如果你使用零售版的CD,有零售版的CD Key就可以把Pid改为
Pid=51882335
如果你是零售版的CD,有的是OEM版的CD Key,你就可以改为
Pid=51882OEM
注意:这只能用任何CD Key正确安装任何CD,但是无法激活,如果你有CD但是没有
CD Key的话可以试试这个方法。


激活的备份:

1)激活后,应备份

WINDOWS\SYSTEM32\下的WPA.DBL

有时由于种种原因,我们不得不重新安装WINDOWS XP,而激活WINDOWS XP是件麻烦
的事。其实我们可以一劳永逸,第一次激活后,以后就不用再次激活了:

将WINDOWS\SYSTEM32\下的WPA.DBL文件复制一份作为备份,以后不管出现什么情况
须要再次激活WINDOWS XP时,只要将这个文件COPY过来覆盖系统中的原文件即可。


2)备份多重启动文件(对于多操作系统)

当C盘出问题后,经过formAT并重装后,为了恢复多重启动,而备份了这7个文件。
恢复时,将这些文件COPY到C:\下即可。这7个文件是:

boot.ini

bootfont.bin

bootsect.dos

io.sys

msdos.sys

ntdetect.com

ntldr(无扩展名)

当然,安装是出错后,若原来的WIN 9x也无法进入了,可以进入安全模式,将以上
这些文件删除(注意:在此之前,仅仅formAT WINXP的分区是不够的)。

注:慎用还原Wpa.dbl文件来达到使WindowsXP永远激活的目的

WinXP新增的激活功能很是讨厌。我想没有人会反对这个观点的。于是就有人提出
备份WindowsXP的激活文件来达到永远激活WinXP的目的而不需要重新上网/打电话
激活了。接着就有人说明了这个文件就是Wpa.dbl,没错,WindowsXP就是这个验证
这个文件来确定你的WindowsXP是否需要激活/重新激活。但是经过我的一番实践,
发现这个方法有欠妥之处。

前几日,我的WindowsXP发生问题,导致系统误认为我的硬件系统发生变化,导致
我的WindowsXP需要重新激活,并且锁定了我的正常登陆模式,并且提示你的
WindowsXP需要重新激活,可事实上我的硬件系统没有发生任何变化,并没有添加
/删除任何硬件设备,也没有更新BIOS/固件,可是WindowsXP还是认为我的
WindowsXP需要重新激活,没有办法,我找上面提到的方法在win98下(我的机子装
有3个系统,分别是Win98/2000/XP)把WPA.DBL文件还原到原位置并且覆盖了源文
件,重新启动到WindowsXP以后发现系统果然已经激活了,一阵喜悦之情马上溢于
言表。但是当我想看看系统属性的时候,发现提示有一个用于提供系统属性信息的
服务没有启动,我马上到控制面板/管理工具/服务里面察看是否没有启动,经过检
查,发行服务并非系统提示中说的那样没有启动,而是正在正常的运行。随后我在
命令窗口模式中输入systeminfo,结果遭到拒绝。我感到很奇怪,于是到系统日志
中察看,最终发现硬件数据库被毁坏了。结果导致不能使用系统信息工具。而且那
个硬件设备数据库我没有备份,我想这可遭了。虽然系统基本上没有问题,但是不
知道系统的稳定性如何,因为硬件数据库的被破坏的后果最终会导致系统不认识我
的硬件设备/错误的认识。还好我前一天在系统完全正常的情况下(也无需激活)
使用了系统还原工具做了一个备份,于是我启动系统还原工具,结果发现我的系统
还原备份点全部被删除了!后果当然是不能使用系统还原功能。

这么办?重新安装?不!我想到了还有之后一招:是用修复WindowsXP的功能。说
起这个修复WindwsXP,这可是一个很好用的方法:修复就相当于Windows98的覆盖
安装一样,不但可以保留所有软件,而且还可以保留所有的设置,是一个修复系统
的很好的方法。

因为使用上比较复杂,所以我画了使用流程图如下:

使用Windows XP启动以后
----------------------
|
|
F6-->安装额外的SCSI/RAID驱动
|
|
F2-->使用Windows Automated System Recovery Disk(ASR)修复系统(最佳选择,
不过事先要制作ASR软盘)
|
|
安装WindowsXP 按ENTER键
故障控制台修复WindowsXP 按R键-------〉会启动故障控制台(适用于高级用户)

放弃安装 按F3
|
|
<按ENTER键>
|
|
同意安装协议
|
|
自动搜索老版本的Windows(不能搜索NTFS文件系统)
|
|
搜索完成以后会提示搜索到的Windows,不会有Win98,移动光标到要修复的
Windows操作系统上
|
|
修复安装WindowsXP 按R键--------〉会自动启动安装界面并且开始安装,耗时和
全新安装差不多,安装结束前会要求填入CD-KEY,全部结束以后就可以启动到
WindowsXP下了,并且已经安装的软件和个人信息不会丢失,但是还是有些问题(
见后面)
全新安装 按F8键-------〉会按照全新安装模式安装系统。


我选择了修复安装WindowsXP以后,系统开始安装了,经过漫长的45钟以后,安装
结束,登录进WindowsXP以后,发现果然可以使用系统信息了,而且硬件设备数据
库也修复了,系统仍然处于无需激活状态,但是接着发现好像还是有些问题没有解
决:
1.以前安装的所有补丁全部丢失,需要重新安装。
2.显卡驱动程序被更换成WindowsXP自带的,想必是我的显卡驱动没有数字签名。

3.Intel应用程序加速器软件丢失,需要重新安装。
4.systeminfo不能够全部反映出整个系统的信息。以前能够显示的启动了多少时间
的,修复后不能够显示,以前能够显示的已经安装了多少个补丁修复以后只能够显
示几个(即使全部补丁安装完毕也是这样)。

虽然我的系统已经修复,但是没解决的问题仍然存在,如果大家知道解决方法(就
是问题4的解决方法),请来信告知。

修复注意事项:
1.必须使用上次安装的CD,不然即使修复成功也不能够登录。
2.要求立即激活的系统修复以后仍然要求立即激活。
3.关于锁定:这里有些误解会认为磁盘被锁定了,数据会丢失了,这些全是谎话,
真实的情况是不能够登录到正常模式下,但是安全模式下仍然可以使用,而且磁盘
也没有问题。也可以使用DOS操作或故障控制台的操作,如果安装有其他的操作系
统,也可以操作。
4.关于被锁定以后硬盘损坏:这个完全是有人恶意造谣的问题。
5.关于逻辑炸弹:所谓的逻辑炸弹就是在一定条件下发生作用的一个程序,比如
KV的江民炸弹。但是请大家注意:在一定条件下发生作用的程序不一定是逻辑炸弹
,比如共享软件的试用期和WindowsXP的试用期等等。这些程序在没有注册/激活的
情况下都有一定的条件限制,但是一旦经过注册/激活以后,这个条件限制就自动
解除了。并不存在WindowsXP超过使用期限没有激活就会导致硬盘损坏的谣言。
6.关于激活:没有激活前可以使用30天,如果已经激活,但是硬件改变量超过5件
,仍然需要重新激活(硬件改变量指有改变的硬件设备。注意有的硬件改变以后,
其改变量会被认作是2或更高,如网络设备)。安装虚拟光驱软件也会被认作是硬
件发生改变,升级BIOS/固件,修改IDE设备的主从关系也会被认作系统硬件发生改
变,这里需要大家格外注意。
7.正版用户的激活限制:一般来说是5次,但是只要你超过5次以后打免费电话到微
软(中国)激活中心说明情况以后,他们会把数据库的记录清零,也就是说没有激
活次数的限制。

对于Windows XP的备份,我觉得还是用Ghost好,只有这样才能一劳永逸。


几种激活方法的比较:

引用V3的原创作者的看法:“从破解水平上讲,SAD是领先的。从使用稳定性来看
,对原系统文件修改越少越好,(其中的 hive.sys 和login.cmd 不算),欺骗比破
解更稳定。劝菜鸟们用脑子想一想,我们把激活看成买票看演出,V3 就是化装成
别人拿着票混进去, 而SAD 就是把门卫打翻冲进去。显然,打翻门卫的水平更高,
但风险也更大。所以,还是找别人要张票(stolen key)或者自己用激光打印机自己
印(keygen)的好,这才是又有水平又安全的解决方案。(假设keygen为v5)

下面是一个对比:

(v3)Cheating: Safe=8, Tech=2

------------

(v4)Breaking: Safe=2, Tech=8

------------

(v5)Keygen Key: Safe=8, Tech=10


应用篇

说完Windows XP的安装,最后来说说xp在实际应用中一些应注意的地方和一些有用
的技巧:

全面优化XP

1、 缩短等待时间

打开注册表编辑器,找到 HKEY_LOCAL_MACHINE\System\CurrentControlSet\
Control,将 WaitToKillServiceTimeout 设为:1000或更小(原设定值:20000)


找到 HKEY_CURRENT_USER\Control Panel\Desktop 键,将右边窗口的
WaitToKillAppTimeout 改为 1000(原设定值:20000),即关闭程序时仅等待1秒
。将 HungAppTimeout 值改为:200(原设定值:5000),表示程序出错时等待0.
5秒。

2、 让系统自动关闭停止响应的程序

打开注册表 HKEY_CURRENT_USER\Control Panel\Desktop 键,将 AutoEndTasks
值设为 1(原设定值:0)。

3、 加快菜单显示速度

打开注册表编辑器,找到 HKEY_CURRENT_USER\Control Panel\Desktop,将其下
的 MenuShowDelay 项改为:0,你的菜单将会出乎意料地快。

4、 加速共享查看

打开注册表编辑器,把HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\
CurrentVersion\Explorer\RemoteComputer\NameSpace下的

{D6277990-4C6A-11CF-8D87-00AA0060F5BF} 删掉

5、 加快窗口显示速度:

打开注册表编辑器,找到HKEY_CURRENT_USER\Control Panel\Desktop\
WindowMetrics子键分支,在右边的窗口中找到MinAniMate键值,其类型为REG_SZ
,默认情况下此健值的值为1,表示打开窗口显示的动画,把它改为0,则禁止动画
的显示,接下来从开始菜单中选择“注销”命令,激活刚才所作的修改即可。

6、 关掉不必要的服务:

如果你只是在单机使用WindowsXP,那么很多服务组件是根本不需要的,额外的服
务程序大大拖慢了系统的速度,完全可以将这些多余的服务组件禁用。

下面我们就来看一下怎样关掉不必要的服务。单击“开始”→“设置”→“控制面
板”。双击“管理工具”→“服务”,打开后将看到服务列表,有些服务已经启动
,有些则没有。右键单击要配置的服务,然后单击“属性”。在“常规”选项卡上
选择“自动”、“手动”或“禁用”,其中“自动”表示每次系统启动时,
Windows XP都自动启动该服务;“手动”表示WindowsXP不会自动启动该服务,而
是在你需要该服务时手动启动该服务;而“禁用”则表示不允许启动该服务。在实
际配置时,选择“手动”或者“禁用”都可以实现关闭该服务的目的,推荐使用手
动功能,这样你随时可以启动一些临时需要的服务。有些服务是WindowsXP所必需
的,不能关闭,否则将会造成系统崩溃。至于各项服务的功能,我们可以通过双击
该服务或将鼠标悬停在该服务名上查看。下面我们就先来看一看这些服务的说明,
最后再看哪些服务可以关掉(见下表)。对于我们这些单机使用WindowsXP的普通
用户来说,可以把表中服务关闭,如果你有特殊要求,可以参照表中说明自行配置
Windows XP的服务,以便达到最优状态。
当前是第一页