登录  
 加关注
查看详情
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

梦想之鹰的天空

天高任鸟飞......放飞....心情..........放飞.....梦想

 
 
 

日志

 
 

如何制作自己的Windows Service Pack  

2007-07-19 21:24:36|  分类: 默认分类 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |

绿盟科技--www.nsfocus.com--安全技术

            

              
            如何制作自己的Windows Service Pack

            发布日期:2001-06-15
            文章内容:


            作者:adam< adam@nsfocus.com>
            主页:http://www.nsfocus.com
            日期:2001-5-4

                作为一个Windows
            系统的管理员,安装安全HotFix应该是不会陌生的,每次我们在装完一台机器后总是下载无数补丁,但烦人的是每每安装一个HotFix系统都会Reboot一次,当然,在Reboot前我们不点击"确定"按钮,直接安装完其他的补丁后一次Reboot也未尝不可,但是这样似乎显得有点不大专业,今天我教大家作一个自己的Service
            Pack,可以把你需要安装的补丁在一次安装完毕,好像很Cool哦~

            为了测试,我选择了一台中文版Windows 2000
            Server,而我们需要安装的安全补丁为2个(当然不止这些,打个比方而已),一个是Windows
            2000的输入法漏洞的补丁(Q270676),一个是命名管道的补丁(Q269523)。

            跟着我一起来作吧:

            1、下载我们需要安装的HotFixs,http://download.microsoft.com/download/win2000platform/Patch/Q269523/NT5/CN/Q269523_W2K_SP2_x86_CN.EXEhttp://download.microsoft.com/download/win2000platform/Patch/q270676/NT5/CN/Q270676_W2K_SP2_x86_CN.EXE

            2、切换到CMD模式,在C盘创建一个hotfix的目录,然后执行

            Q269523_W2K_SP2_x86_CN.EXE /x(建议解包的顺序按Q号的大小排列,由小到大,理由我会在后面提到)
            看到要求输入解包路径的提示后输入"C:\Hotfix"。

            C:\>cd hotfix

            C:\hotfix>dir
            驱动器 C 中的卷是 C
            卷的序列号是 AC58-F7F5

            C:\hotfix 的目录

            2001-05-04  04:00       <DIR>          .
            2001-05-04  04:00       <DIR>          ..
            2000-08-14  18:57               98,064 hotfix.exe
            2000-08-14  18:57               15,139 hotfix.inf
            2000-08-14  17:19              835,856 kernel32.dll
            2000-08-14  17:19               85,776 services.exe
            2000-08-14  18:31               88,245 sp2.cat
            2000-08-14  18:57                3,584 spmsg.dll
            2001-05-04  04:00       <DIR>          symbols
            2001-05-04  04:00       <DIR>          uniproc

            然后我们将hotfix.inf文件复制一份。
            C:\hotfix>copy hotfix.inf q269523_cn.inf
            已复制         1 个文件。

            紧接着我们将第二个HotFix解包,
            Q270676_W2K_SP2_x86_CN.EXE /x
            看到要求输入解包路径的提示后输入"C:\Hotfix"。
            也将此时的hotfix.inf文件复制一份。
            C:\hotfix>copy hotfix.inf q270676_cn.inf
            已复制         1 个文件。

            第三个、第四个........重复同样的操作。

            3、此时我们已经将HotFix的文件都解包至C:\Hotfix目录,并且有了各个HotFix的inf文件的拷贝,我们现在来分析这些inf文件,一般我们把最后解包的inf文件作为模板,因为inf文件分很多字段,从我观察的结果来看,随着时间的推移,inf文件的字段可能会增加,这也就是我们开始解包按Q大小顺序的原因,本例中我们以Q270676的inf文件为模板,我们编辑hotfix.inf文件,这个文件已经包含了Q270676的信息,我们只要把Q269523中的信息添加到该文件中即可,下面我们来分析Q269523的inf文件的内容:

            前面的大部分基本都是相似的,我们只搜寻一些与众不同的字段。

            [MustReplace.System32.files]
            SERVICES.EXE
            [CopyAlways.DriverCab.files]
            kernel32.dll
            [Cache.files]
            SERVICES.EXE
            KERNEL32.DLL
            [Uniprocessor.Kernel.files]
            KERNEL32.DLL,UNIPROC\KERNEL32.DLL
            [Multiprocessor.Kernel.files]
            KERNEL32.DLL
            [SourceDisksFiles]
            SERVICES.EXE=1
            UNIPROC\KERNEL32.DLL
            KERNEL32.DLL=1

            然后我们在hotfix.inf文件中搜寻MustReplace.System32.files,然后加入一行
            SERVICES.EXE
            为了以后方便,我们一般加上一些注释,编辑后的hotfix.inf文件的MustReplace.System32.files字段就成了下面这个样子:

            [MustReplace.System32.files]

            ;Q269523  Added by Adam
                SERVICES.EXE

            接着搜寻CopyAlways.DriverCab.files、Cache.files、Uniprocessor.Kernel.files、Multiprocessor.Kernel.files、SourceDisksFiles,并将相应的信息添加到hotfix.inf文件中,也要注意添加必要的注释文件,inf文件中表示注释的符号为分号。当然,我们也建议您把本身的模板文件中必要的项也作一下注释,如2个hotfix都包含的Cache.files,我们修改后就成了:

            [Cache.files]

            ;Q269523  Added by Adam
                SERVICES.EXE
                KERNEL32.DLL

            ;Q270676  Added by Adam
                winzm.ime
                winsp.ime
                winpy.ime
                wingb.ime
                winabc.ime

            实际上,到这一步,我们就已经可以用我们作好的东东了,但是为了以后的方便,我们必须修改一些显示信息,这就是inf文件中的Strings字段。我们到inf文件的最末尾可以看到Strings字段,我们必须在这里修改一些必要的信息。

            首先修改Q号(不是OICQ号码哦),将Q号改成你喜欢的6位数,当然,输入其他字符也可以,但是也许会和某些查HotFix的软件有冲突,还是用6位数字好了,然后修改Comments,我们把Q269523的Comment粘贴过来,也可以加上一些自己的描述,修改后的Strings字段就成了下面的样子:

            [Strings]

                LangTypeValue=4
                ServicePackSourceFiles="Windows 2000 Hotfix 源文件"
                HOTFIX_NUMBER="Q123456"
                SERVICE_PACK_NUMBER=1
                COMMENT="Windows 2000 Hotfix (Pre-SP2) [See Q270676 for more
            information] This Fix Corrects the IME Problem...Windows 2000 Hotfix
            (Pre-SP2) [See Q269523 for more information] This Fix Corrects the
            NamePipe Problem..."

            这样也方便我们日后对已安装的补丁进行查看。

            4、好了,该修改的地方我们已经弄完了,我们开始安装我们自己作的Service
            Pack吧,其实我们只要执行HotFix.exe即可,它会自己去找inf文件,然后你会看到一个拷贝文件的进度条,接着是系统要求你Reboot,点"确定",重启,我们的HotFix就安装完毕了。

            5、最后我们可以看看效果,你可以去看看注册表:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows
            NT\CurrentVersion\HotFix

            你会发现你安装的Q123456乖乖地呆在那里了~很有成就感哦~

            最后总结一下:每每出一个新的HotFix后,你就将文件添加到你的SP包中,然后修改你的inf文件,你就可以不去理会微软是不是还为你发布新的SP了(NT
            4的SP 7没有了),当然,SP中不光包含安全补丁,对系统的其他方面也有所改善,土八路毕竟还是比不上正规军的。

            欢迎访问我们的站点http://www.nsfocus.com/
            绿盟科技给您安全的保障

      


      中联绿盟信息技术(北京)有限公司版权所有 联系:webadmin@nsfocus.com
      &copy;1999-2006 NSFOCUS Corporation. All rights Reserved.
      京ICP备05004765号

  评论这张
 
阅读(21)| 评论(0)

历史上的今天

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018