Search in uioop.blogspot.com

Thursday, June 18, 2009

MS 算号器原理

从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-的都未必不能激 活简体中文专业版的..................

恢复原版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的话可以试试这个方法。

使用脚本恢复Windows XP系统的用户密码

http://ask.koubei.com/question/1406110107856.html

用一种不用第三方软件的方法来恢复管理员密码,大家可以看看这招技巧如何。

   Windows XP启动脚本(startup scripts)是计算机在登录屏幕出现之前运行的批处理文件,它的功能类似于Windows 9×和DOS中的自动执行批处理文件autoexec.bat。利用这个特性,可以编写一个批处理文件重新设置用户密码,并将它加入启动脚本中,这样就达 到了目的。以下是具体步骤(假设系统目录为C:\Windows)。

   1.使用Windows98启动盘启动电脑。编写一个能恢复密码的批处理文件a.bat,内容只需要一条“net user”命令即可:“Net user rwd 12345678”。这条命令的意思是将用户rwd的密码设置为“12345678”(有关Net命令的用法,可参考Windows帮助)。然后将文件 a.bat保存到“C:\windows\system32\GroupPolicy\Machine\Scripts\Startup”下。

   2.编写一个启动/关机脚本配置文件scripts.ini,这个文件名是固定的,不能改变。内容如下:

  [Startup]

  0CmdLine=a.bat

  0Parameters=

   3.将文件scripts.ini保存到“C:\windows\system32\GroupPolicy\Machine\Scripts”下。 scripts.ini保存着计算机启动/关机脚本的设置数据,文件内容通常包含两个数据段:[Startup]和 [Shutdown]。[Startup]数据段下是启动脚本配置,[Shutdown]数据段下是关机脚本配置。每个脚本条目被分成脚本名和脚本参数两 部分存储,脚本名保存在XCmdLine关键字下,参数保存在XParameters关键字下,这里的X表示从0开始的脚本序号,以区别多个脚本条目和标 志各脚本条目的运行顺序。

   4.取出Windows 98启动盘,重新启动电脑,等待启动脚本运行。启动脚本运行结束后用户rwd的密码就被恢复为“12345678”。

   5.登录成功后删除上述步骤建立的两个文件。

   说明:电脑使用的是FAT32文件系统,如果使用NTFS文件系统,可以将这块硬盘以从盘模式挂接到其它能识别NTFS文件系统(如Windows 2000或Windows XP)的计算机上进行上述操作。本方法可以恢复管理员(Administrator)的密码。对Windows2000系统中本地计算机用户和域用户的密 码恢复同样有效。

Windows XP操作系统中隐藏的秘密

http://ask.koubei.com/question/1407071204458.html

1. systeminfo:让XP列出更多有用信息

Windows XP 总是在炫耀它可以给稳定工作多么长的时间!要想详细地了解这一信息,你可以接入 Windows的“开始菜单”,再开启“附件菜单”中的“命令提示符”,然后在其中输入“systeminfo”这个命令。电脑就会给你显示出许多有用信 息,其中包括了这个系统的初次安装时间,以及本次持续运行的时间。假如你想要保留这些信息,你可以输入“systeminfo >info.txt”,这将会创建一个名为“info.txt”文本文件,你可以稍后用Windows的记事本将其打开,进行查看。(仅限于 Windows XP 专业版本)

2.gpedit.msc:设置直接删除文件

你可以将 Windows XP操作系统设置为直接删除文件,而不用先将这些文件转移到回收站当中。进入开始菜单,选择“运行……”,输入“gpedit.msc”;在弹出的对话框 中,选择用户设置,管理模板,Windows 组件,Windows Explorer,找到“不要将删除的文件移送到回收站”的选项。开启这个选项。

编辑认为在回收站的属性里选择更快一些。

通过调整 gpedit 对话框中的相关设置,你可以对系统的运行方式和选项做出很多调整,但是请一定小心??你所作出的某些改变可能会系统运行出现问题,或造成系统的不稳定。(仅限于 Windows XP 专业版本)

3. rundll32.exe:用鼠标锁定计算机

你可以轻轻点击两下鼠标,就锁定自己的 Windows XP 系统。请先在桌面上点击鼠标右键,创建一个新的快捷方式,然后再填写项目位置的时候, 输入“rundll32.exe user32.dll,LockWorkStation”。

然后再给这个快捷方式取一个你喜欢的名字,比如“锁定计算机”。就是这么简单??现在,你只需要用鼠标双击这个快捷方式,你的电脑就会马上被锁定。如果你觉得这还不够简单的话,同时按住键盘上的“Windows 键(有XP图标的那个)”和“L”键,将会有同样的效果。

4. sysoc.inf:把隐藏的文件揪出来

Windows XP 隐藏了一些你可能想要删除或卸载的系统软件,诸如 WindowsMessenger,但是你可以让这些软件重新显示出来。使用 Windows自带的记事本或写字板程序,编辑文本文件“/windows/inf/sysoc.inf”,搜索并删除掉关键词“hide”。然后你再进 入“控制面板”的“添加/删除程序”,选择“添加或删除 Windows 组件”。你可以发现所有的系统软件都被显示出来了,现在就可以卸载它们了。

5. /?:命令行的诱惑

对于那些擅长于操作DOS批处理命令的用户来说,Windows XP也为他们提供了许多有趣的新命令。其中包括用来创建和监视系统事件的“eventcreate”和“eventtriggers”命令,用来监控各种 子系统的运行状态的“typeperf'”,以及用来操作计划任务的“schtasks”。

和以前一样,输入某个命令,并紧跟其后加上“/?”的后缀,将会为你提供一系列与这个命令相关的选项。

6. ipv6 install:XP也能玩IPv6

Windows XP 能够支持 IPv6 ??下一代互联网的IP协议。但是非常不幸的是,这一功能超出了你的网络提供商(ISP)所能支持的服务,所以你只能在自己的局域网中实验这一功能。请在 “运行……”中输入命令“ipv6 install'”(请不要担心,这个命令不会破坏你现有的网络设定),然后再在命令提示符中输入“ipv6/?”,你可以获得更多的相关信息。假如你根 本不知道 IPv6 是什么的话,那么就请忽略掉这一段话。

7.tskill:试试用命令来终止任务

你可以最终通过在命令提示符中输入命令“taskkill/pid”和任务序号,或者仅仅输入“tskill”以及进程的序号,来终止掉某个任务。想要找 出所有正在运行中的任务及其序号?请输入“tasklist”,这个命令也可以帮助你了解到更多当前系统运行状态的信息。

8. 快慢自选:浏览ZIP压缩包

Windows XP会像对待普通文件夹一样对待ZIP压缩文件包,这一功能在运行速度较快的机器上非常的方便,但是在运行速度较慢的机器上却会拖累系统的整体运行效率。 如果你电脑的配置并不是很高,你可以通过在命令提示符中输入命令“regsvr32 /u zipfldr.dll”来关闭这一功能 ,让 WindowsXP 把压缩文件包丢在一边。假如你稍候改变了自己的主意,你可以通过输入“regsvr32 zipfldr.dll”来恢复这一功能。

Windows XP操作系统中隐藏的秘密

http://ask.koubei.com/question/1407071204458.html

1. systeminfo:让XP列出更多有用信息

Windows XP 总是在炫耀它可以给稳定工作多么长的时间!要想详细地了解这一信息,你可以接入 Windows的“开始菜单”,再开启“附件菜单”中的“命令提示符”,然后在其中输入“systeminfo”这个命令。电脑就会给你显示出许多有用信 息,其中包括了这个系统的初次安装时间,以及本次持续运行的时间。假如你想要保留这些信息,你可以输入“systeminfo >info.txt”,这将会创建一个名为“info.txt”文本文件,你可以稍后用Windows的记事本将其打开,进行查看。(仅限于 Windows XP 专业版本)

2.gpedit.msc:设置直接删除文件

你可以将 Windows XP操作系统设置为直接删除文件,而不用先将这些文件转移到回收站当中。进入开始菜单,选择“运行……”,输入“gpedit.msc”;在弹出的对话框 中,选择用户设置,管理模板,Windows 组件,Windows Explorer,找到“不要将删除的文件移送到回收站”的选项。开启这个选项。

编辑认为在回收站的属性里选择更快一些。

通过调整 gpedit 对话框中的相关设置,你可以对系统的运行方式和选项做出很多调整,但是请一定小心??你所作出的某些改变可能会系统运行出现问题,或造成系统的不稳定。(仅限于 Windows XP 专业版本)

3. rundll32.exe:用鼠标锁定计算机

你可以轻轻点击两下鼠标,就锁定自己的 Windows XP 系统。请先在桌面上点击鼠标右键,创建一个新的快捷方式,然后再填写项目位置的时候, 输入“rundll32.exe user32.dll,LockWorkStation”。

然后再给这个快捷方式取一个你喜欢的名字,比如“锁定计算机”。就是这么简单??现在,你只需要用鼠标双击这个快捷方式,你的电脑就会马上被锁定。如果你觉得这还不够简单的话,同时按住键盘上的“Windows 键(有XP图标的那个)”和“L”键,将会有同样的效果。

4. sysoc.inf:把隐藏的文件揪出来

Windows XP 隐藏了一些你可能想要删除或卸载的系统软件,诸如 WindowsMessenger,但是你可以让这些软件重新显示出来。使用 Windows自带的记事本或写字板程序,编辑文本文件“/windows/inf/sysoc.inf”,搜索并删除掉关键词“hide”。然后你再进 入“控制面板”的“添加/删除程序”,选择“添加或删除 Windows 组件”。你可以发现所有的系统软件都被显示出来了,现在就可以卸载它们了。

5. /?:命令行的诱惑

对于那些擅长于操作DOS批处理命令的用户来说,Windows XP也为他们提供了许多有趣的新命令。其中包括用来创建和监视系统事件的“eventcreate”和“eventtriggers”命令,用来监控各种 子系统的运行状态的“typeperf'”,以及用来操作计划任务的“schtasks”。

和以前一样,输入某个命令,并紧跟其后加上“/?”的后缀,将会为你提供一系列与这个命令相关的选项。

6. ipv6 install:XP也能玩IPv6

Windows XP 能够支持 IPv6 ??下一代互联网的IP协议。但是非常不幸的是,这一功能超出了你的网络提供商(ISP)所能支持的服务,所以你只能在自己的局域网中实验这一功能。请在 “运行……”中输入命令“ipv6 install'”(请不要担心,这个命令不会破坏你现有的网络设定),然后再在命令提示符中输入“ipv6/?”,你可以获得更多的相关信息。假如你根 本不知道 IPv6 是什么的话,那么就请忽略掉这一段话。

7.tskill:试试用命令来终止任务

你可以最终通过在命令提示符中输入命令“taskkill/pid”和任务序号,或者仅仅输入“tskill”以及进程的序号,来终止掉某个任务。想要找 出所有正在运行中的任务及其序号?请输入“tasklist”,这个命令也可以帮助你了解到更多当前系统运行状态的信息。

8. 快慢自选:浏览ZIP压缩包

Windows XP会像对待普通文件夹一样对待ZIP压缩文件包,这一功能在运行速度较快的机器上非常的方便,但是在运行速度较慢的机器上却会拖累系统的整体运行效率。 如果你电脑的配置并不是很高,你可以通过在命令提示符中输入命令“regsvr32 /u zipfldr.dll”来关闭这一功能 ,让 WindowsXP 把压缩文件包丢在一边。假如你稍候改变了自己的主意,你可以通过输入“regsvr32 zipfldr.dll”来恢复这一功能。

安装Win XP不用输序号

安装Win XP不用输序号

要做到安装Win XP不用输序号(是不用输,不是不用序号)要有一个前提,就是你的Win XP原文件已经考到了你的硬盘上或者你的光盘是可读写的。方法如下:在I386的文件下放一个叫WINNT.SIF的, 内容如下:

=====================================================================
[UserData] ProductKey=FCKGW-RHQQ2-YXRKT-8TG6W-2B7Q8
//注意,这个是你的xp 的注册码,要写在这里,不一定与这个相同
[Data] AutoPartition=0
MSDosInitiated=0
UnattendedInstall=Yes
[Unattended]
UnattendMode=GuiAttended
TargetPath=WINNT
Hibernation=1
OemPreinstall=No
OemSkipEula=Yes
CrashDumpSetting=0
DisableDynamicUpdates=Yes
UnattendSwitch=Yes
========================================================

AVG Internet Security 2013

Total Pageviews

Contributors