扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
作者:51CTO.COM 2007年10月12日
关键字:
在本页阅读全文(共6页)
上面的例子中,“xxx1,xxxx”是一个动态链接库(DLL)或.OCX文件名(如My.ocx或My.dll);“0001,000x”是部分名字。可以是数字和文字;“entry1,entryX”是指向一个要运行的程序文件的注册表串值。
下表给出键值的说明,Flags是一个定位在RunOnceEx键用来激活/禁止的DWORD值,具体如下:
2.特殊启动
在注册表中除了上述的普通启动方式以外,还可以利用一些特殊的方式达到启动的目的:
[HKEY_CLASSES_ROOT\exefile\shell\open\command] @="%1" %*
[HKEY_CLASSES_ROOT\comfile\shell\open\command] @="%1" %*
[HKEY_CLASSES_ROOT\batfile\shell\open\command] @="%1" %*
[HKEY_CLASSES_ROOT\htafile\Shell\Open\Command] @="%1" %*
[HKEY_CLASSES_ROOT\piffile\shell\open\command] @="%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\batfile\shell\open\command] @="%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\comfile\shell\open\command] @="%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\exefile\shell\open\command] @="%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\htafile\shell\open\command] @= "%1" %*
[HKEY_LOCAL_MACHINE\Software\CLASSES\piffile\shell\open\command] @="%1" %*
其实从注册表的路径上也许就隐约可以看出,这些都是一些经常被执行的可执行文件的键值。往往有些木马是可以更改这些键值从而达到加载的目的:
如果我们把“"%1" %*”修改为“file.exe"%1" %*”,则文件file.exe就会在每次执行某一个类型的文件(需要看修改的是哪一个文件类型)的时候被执行!
当然,可以被更改的不一定只是可执行文件,比如冰河就利用了TXT文件的键值:
[HKEY_CLASSES_ROOT\txtfile\shell\open\command]实现木马的一种启动方式。
四、其他启动方式
1.C:\Explorer.exe启动方式
这是一种特殊的启动方式,很少有人知道。
在Windows 9x下,由于System.ini只指定了Windows的外壳文件Explorer.exe的名称,而并没有指定绝对路径,所以Windows 9x会搜索Explorer.exe文件。搜索顺序如下:
首先搜索当前目录;如果没有搜索到Explorer.exe则系统会获取[HKEY_LOCAL_MACHINE\System\CurrentControlSet\Control\Session Manager\Environment\Path]的信息获得相对路径;如果还是没有文件,系统则会获取[HKEY_CURRENT_USER\Environment\Path]的信息并获得相对路径。
其中,[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Environment\Path]和[HKEY_CURRENT_USER\Environment\Path]所保存的相对路径的键值为:“%SystemRoot%\System32;%SystemRoot%”和空。
所以,由于当系统启动时,“当前目录”肯定是“%SystemDrive%\”(系统驱动器),这样系统搜索Explorer.exe的顺序应该是:
%SystemDrive%\(例如C:\)
%SystemRoot%\System32(例如C:\Winnt\System32)
%SystemRoot%(例如C:\Winnt)
此时,如果把一个名为Explorer.exe的文件放到系统根目录下,这样在每次启动时,系统就会自动先启动根目录下的Explorer.exe而不启动Windows目录下的Explorer.exe了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。