来源:远方网络 | 2005-12-29 14:43:09 | (有3047人读过)
本文对inf文件基础知识,将不进行介绍。 关于inf文件的详细结构信息,可参考DDK帮助文档。
一、修改telnet服务,端口改为99,NTLM认证方式为1。 ===============================
C:\myinf\Telnet.inf
[Version] Signature="$WINDOWS NT$" [DefaultInstall] AddReg=AddRegName [My_AddReg_Name] HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,TelnetPort,0x00010001,99 HKLM,SOFTWARE\Microsoft\TelnetServer\1.0,NTLM,0x00010001,1
安装:rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\myinf\telnet.inf
说明:[Version]和[DefaultInstall]是必须的,0x00010001表示REG_DWORD数据类型,0x00000000或省略该项(保留逗号)表示REG_SZ(字符串)。0x00020000表示REG_EXPAND_SZ。 InstallHinfSection是大小写敏感的。它和setupapi之间只有一个逗号,没有空格。128表示给定路径,该参数其他取值及含义参见MSDN。 特别注意,最后一个参数,必须是inf文件的全路径,不要用相对路径。 inf文件中的项目都是大小写不敏感的。
二、服务 ===============
增加一个服务:
[Version] Signature="$WINDOWS NT$" [DefaultInstall.Services] AddService=inetsvr,,My_AddService_Name [My_AddService_Name] DisplayName=Windows Internet Service Description=提供对 Internet 信息服务管理的支持。 ServiceType=0x10 StartType=2 ErrorControl=0 ServiceBinary=%11%\inetsvr.exe
保存为inetsvr.inf,然后:
rundll32.exe setupapi,InstallHinfSection DefaultInstall 128 c:\path\inetsvr.inf
这个例子增加一个名为inetsvr的服务(是不是很像系统自带的服务,呵呵)。
几点说明: 1,最后四项分别是 服务类型:0x10为独立进程服务,0x20为共享进程服务(比如svchost); 启动类型:0 系统引导时加载,1 OS初始化时加载,2 由SCM(服务控制管理器)自动启动,3 手动启动,4 禁用。 (注意,0和1只能用于驱动程序) 错误控制:0 忽略,1 继续并警告,2 切换到LastKnownGood的设置,3 蓝屏。 服务程序位置:%11%表示system32目录,%10%表示系统目录(WINNT或Windows),%12%为驱动目录system32\drivers。其他取值参见DDK。你也可以不用变量,直接使用全路径。 这四项是必须要有的。 2,除例子中的六个项目,还有LoadOrderGroup、Dependencies等。不常用所以不介绍了。 3,inetsvr后面有两个逗号,因为中间省略了一个不常用的参数flags。
删除一个服务:
[Version] Signature="$WINDOWS NT$" [DefaultInstall.Services] DelService=inetsvr
很简单,不是吗?
当然,你也可以通过导入注册表达到目的。但inf自有其优势。 1,导出一个系统自带服务的注册表项,你会发现其执行路径是这样的: "ImagePath"=hex(2):25,00,53,00,79,00,73,00,74,00,65,00,6d,00,52,00,6f,00,6f,00,\ 74,00,25,00,5c,00,73,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,74,\ 00,6c,00,6e,00,74,00,73,00,76,00,72,00,2e,00,65,00,78,00,65,00,00,00 可读性太差。其实它就是%SystemRoot%\system32\tlntsvr.exe,但数据类型是REG_EXPAND_SZ。当手动导入注册表以增加服务时,这样定义ImagePath显然很不方便。如果用REG_SZ代替会有些问题——不能用环境变量了。即只能使用完整路径。用inf文件完全没有这个问题,ServiceBinary(即ImagePath)自动成为REG_EXPAND_SZ。 2,最关键的是,和用SC等工具一样,inf文件的效果是即时起效的,而导入reg后必须重启才有效。 3,inf文件会自动为服务的注册表项添加一个Security子键,使它看起来更像系统自带的服务。
另外,AddService和DelService以及AddReg、DelReg可以同时且重复使用。即可以同时增加和删除多个服务和注册表项。
三、组策略 ==========
1、密码最小6位 [version] signature="$CHICAGO$" [System Access] MinimumPasswordLength = 6 PasswordComplexity = 1
保存为gp.inf,然后导入: secedit /configure /db gp.sdb /cfg gp.inf /quiet
2、关闭所有的“审核策略
echo [version] >1.inf echo signature="$CHICAGO$" >>1.inf echo [Event Audit] >>1.inf echo AuditSystemEvents=0 >>1.inf echo AuditObjectAccess=0 >>1.inf echo AuditPrivilegeUse=0 >>1.inf echo AuditPolicyChange=0 >>1.inf echo AuditAccountManage=0 >>1.inf echo AuditProcessTracking=0 >>1.inf echo AuditDSAccess=0 >>1.inf echo AuditAccountLogon=0 >>1.inf echo AuditLogonEvents=0 >>1.inf secedit /configure /db 1.sdb /cfg 1.inf /log 1.log /quiet del 1.*
四、解决XP ipc$连接只有Guest权限 ====================
echo [version] >1.inf echo signature="$CHICAGO$" >>1.inf echo [Registry Values] >>1.inf echo MACHINE\System\CurrentControlSet\Control\Lsa\ForceGuest=4,0 >>1.inf secedit /configure /db 1.sdb /cfg 1.inf /log 1.log del 1.*
|