分享
 
 
 

Windows的自启动方式

王朝英语沙龙·作者佚名  2007-01-10
窄屏简体版  字體: |||超大  

Windows的自启动方式

By SnaiX<snaix@yeah.net>

最后一次修改日期:12/09/2001WINDOWS的自启动方式

目录:

Windows的自启动方式:

1.自启动目录:

2.系统配置文件启动:

1.WIN.INI启动:

2.SYSTEM.INI启动:

3.WININIT.INI启动:

4.WINSTART.BAT启动:

5.AUTOEXEC.BAT启动:

3.注册表启动:

1.常规启动:

2.特殊启动1:

3.特殊启动2:

4.其他启动方式:

1.C:\Explorer.exe启动方式:

2.屏幕保护启动方式:

3.依附启动:

4.计划任务启动方式:

5.AutoRun.inf启动方式:

5.自动启动相关:

1.代启动:

2.Start启动:

3.控制面板启动:

4.其他:

最后:

前言:

有时候人们往往会为了一个程序的启动而头痛,因为一些用户往往不知道那些文件是如

何启动的。所以经常会有些没用的东西挂在系统上占用资源。有时候也会有人因为不知道如

何启动某个文件而头痛。更有些特洛依木马的作者因为不清楚系统的自启动方式而使自己的

木马轻松被别人发现……

Windows的自启动方式其实有许多方式。除了一些常见的启动方式之外,还有一些非常

隐蔽的可用来启动文件的方式。本文总结如下,虽然不是全部,但我想应该会对大家有所帮

助。文章全部以系统默认的状态为准,以供研究。

其中(English)代表英文操作系统,(Chinese)代表中文操作系统。本文没加说明说

的全为中文Windows98操作系统。

警告:

文中提及的一些操作可能会涉及到系统的稳定性。例如如果不正确地使用注册表编辑器

可以导致可能重新安装系统这样严重的问题。微软也不能保证因不正常使用注册表编辑器而

造成的结果可以被解决。笔者不对使用后果负责,请根据自己的情况使用。

Windows的自启动方式:

1.自启动目录:

默认路径位于:

C:\windows\start menu\programs\startup(English)

C:\windows\start menu\programs\启动(Chinese)

这是最基本、最常用的Windows启动方式,主要用于启动一些应用软件的自启动项目,

如Office的快捷菜单。一般用户希望启动时所要启动的文件也可以通过这里启动,只需把所

需文件或其快捷方式放入文件夹中即可。

对应的注册表位置:

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell

Folders]

Startup="%Directory%"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\User Shell

Folders]

Startup="%Directory%"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\User

Shell Folders]

"Common Startup"="%Directory%"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\explorer\Shell

Folders]

"Common Startup"="%Directory%"

其中“%Directory%”为启动文件夹位置。

英文默认为:

C:\windows\start menu\programs\startup

中文默认为:

C:\windows\start menu\programs\启动

在开始菜单的“启动”文件夹是可更改的,如果用户更改了启动文件夹,则以上注册表

的键值均会改变为相应的名称。

值得注意的是:开始菜单的“启动”文件夹中的内容虽然在默认的状态下可以被用户看

得一清二楚。但通过改动还是可以达到相当隐蔽地启动的目的的:

首先,“启动”文件夹中的快捷方式或其他文件的属性可以改变为“隐藏”。这样可以

达到系统不启动被隐藏的文件,等到需要启动的时候又可以通过更改回文件属性而恢复启动

的作用。

其次,其实“启动”文件夹只是一个普通的文件夹,但是由于系统监视了这个文件夹,

所以变得有些特殊,但文件夹有的功能该文件夹也是有的。譬如“启动”文件夹的名称是可

以更改的,并且“启动”文件夹也可以设置属性。如果把属性设置为“隐藏”,则在系统中

的【开始】==>【程序】菜单中是看不到“启动”文件夹的(即使在“文件夹选项”中已经

设定了“显示所有文件”)。而系统还会启动这个被隐藏的文件夹中的非隐藏文件。

敏感的人们也许已经发现问题。举一个例子:

如果我想启动A木马的server端服务器,我可以把原来的“启动”菜单的名称更改为“StartUp”(这里是随便改的,注册表相应的键值也会自动更改。)之后我再创建一个名为“启动

”的文件夹,把“StartUp”菜单中的文件全部复制(这里用复制,可以骗过用户的检查)

到“启动”菜单中,然后把A木马的server程序放入“StartUp”文件夹中,最后把“StartUp”文件夹隐藏。大功告成!

从外表看来,用户的【开始】==>【启动】目录还在,而且要启动的文件也在。但系统

此时启动的文件不是名为“启动”的文件夹中的文件,而是名为“StartUp”的文件夹中的

文件。如果木马做的好的话,完全可以在每次启动的时候把“StartUp”中的文件复制到“

启动”目录中来达到实时更新启动目录的目的。由于“StartUp”文件夹被隐藏,从【开始

】==>【程序】中是无法看到真正的启动菜单“StartUp”的,所以达到了隐蔽启动的目的

这个启动方式虽然比较隐蔽,但通过msconfig依旧可以在“启动”页中看出来。

2.系统配置文件启动:

由于系统的配置文件对于大多数的用户来说都是相当陌生的;这就造成了这些启动方法

相对来说都是相当隐蔽的,所以这里提到的一些方法常常会被用于做一些破坏性的操作,请

读者注意。

1.WIN.INI启动:

启动位置(file.exe为要启动的文件名称):

[windows]

load=file.exerun=file.exe2.SYSTEM.INI启动:

启动位置(file.exe为要启动的文件名称):

默认为:

[boot]

Shell=Explorer.exe

可启动文件后为:

[boot]

Shell=Explorer.exe file.exe

说明:

笔者记得在诺顿先生(就是开发出Norton系列软件的人)写的一本书里面曾经说过,1

、2这两个文件的有无对系统没有什么影响,但由于时间的关系,笔者没有来得及试验,有

兴趣者可以试一试。

不过有一点是可以肯定的,这样的启动方式往往会被木马或一些恶作剧程序(如,妖之

吻)利用而导致系统的不正常。由于一般用户很少会对这两个文件关心,甚至有的人不知道

这些文件是做什么用的,所以隐蔽性很好。但由于其使用的越来越频繁,这种启动方式也被

渐渐的察觉了。用户可以使用msconfig这个命令实现检查是否有什么程序被加载。具体的是

在看是菜单中的“运行”中输入msconfig回车,之后按照文字说明即可。

注意:

1.

和WIN.INI文件不同的是,SYSTEM.INI的启动只能启动一个指定文件,不要把Shell=Explorer.exe file.exe换为Shell=file.exe,这样会使Windows瘫痪!

2.

这种启动方式提前于注册表启动,所以,如果想限制注册表中的文件的启动,可是使用这种

方法。

3.WININIT.INI启动:

Wininit.ini这个文件也许很多人不知道,一般的操作中用户也很少能直接和这个文件

接触。但如果你编写过卸载程序的话,也许你会知道这个文件。

WinInit即为Windows Setup Initialization

Utility。翻译成中文就是Windows安装初始化工具。这么说也许不明白,如果看到如下提示

信息:

Please wait while Setup updates your configuration files.

This may take a few minutes...

大家也许就都知道了!这个就是Wininit.ini在起作用!

由于在Windows下,许多的可执行文件和驱动文件是被执行到内存中受到系统保护的。

所以在Windows的正常状态下更改这些文件就成了问题,因此出现了Wininit.ini这个文件来

帮助系统做这件事情。它会在系统装载Windows之前让系统执行一些命令,包括复制,删除

,重命名等,以完成更新文件的目的。Wininit.ini文件存在于Windows目录下,但在一般时

候我们在C:\Windows目录下是找不到这个文件的,原因就是Wininit.ini在每次被系统执行

完它其中的命令时就会被系统自动删除,直到再次出现新的Wininit.ini文件……之后再被

删除。

文件格式:

[rename]

file1=file2

file1=file2的意思是把file2文件复制为文件名为file1的文件,相当于覆盖file1文件,之

后再把原来的file2文件删除。

这样启动时,Windows就实现了用file2更新file1的目的;如果file1不存在,实际结果

是将file2复制并改名为file1;如果要删除文件,则可使用如下命令:

[rename]

nul=file2

这也就是说把file2变为空,即删除的意思。

以上文件名都必须包含完整路径。

注意:1.由于Wininit.ini文件处理的文件是在Windows启动以前处理的,所以不支持长文件

名。

2.以上的文件复制、删除、重命名等均是不提示用户的情况下执行的。有些病毒也会

利用这个文件对系统进行破坏,所以用户如果发现系统无故出现:

Please wait while Setup updates your configuration files.

This may take a few minutes...

那么也许系统就有问题了。

3. 在Windows 95 Resource

Kit中提到过Wininit.ini文件有三个可能的段,但只叙述了[rename]段的用法。

4.WINSTART.BAT启动:

这是一个系统自启动的批处理文件,主要作用是处理一些需要复制、删除的任务。譬如

有些软件会在安装或卸载完之后要求重新启动,就可以利用这个复制和删除一些文件来达到

完成任务的目的。如:

“@if exist C:\WINDOWS\TEMP\PROC.BAT call C:\WINDOWS\TEMP\PROC.BAT”

这里是执行PROC.BAT文件的命令;

“call filename.exe > nul”

这里是去除任何在屏幕上的输出。

值得注意的是WinStart.BAT文件在某种意义上有和AUTOEXEC.BAT一样的作用。如果巧妙

安排完全可以达到修改系统的目的!

5.AUTOEXEC.BAT启动:

这个就没的说了,应该是用户再熟悉不过的系统文件之一了。每次重新启动系统时在DOS下启动。恶意的程序往往会利用这个文件做一些辅助的措施。

不过,在AUTOEXEC.BAT文件中会包含有恶意代码。如format c:

/y等;由于BAT恶意程序的存在,这个机会大大地增加了。譬如最近很流行的SirCam蠕虫也

利用了Autoexec.bat文件。

说明:

4、5这两个文件都是批处理文件,其作用往往不能完全写出来,因为批处理的用处在DOS时代的应用太广泛,它的功能相对来说也是比较强大。想利用这两个文件,需要对DOS有一

定的了解。.

3.注册表启动:

注册表中的启动应该是被使用最频繁的启动方式,但这样的方式也有一些隐蔽性较高的

方法,大致有三种。

1.常规启动:

其中\%path%\为任意路径,file.exe为要运行的程序。

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServices]

"Anything"="\%path%\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunServicesOnce]

"Anything"="\%path%\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Run]

?"Anything"="\%path%\file.exe"

[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\RunOnce]

?"Anything"="\%path%\file.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run]

????"Whatever"="c:\runfolder\program.exe"

[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunOnce]

????"Whatever"="c:\runfolder\program.exe"

注意:

1.如果需要运行.dll文件,则需要特殊的命令行。

如:

Rundll32.exe C:\WINDOWS\FILE.DLL,Rundll322.解除这里相应的自启动项只需删除该键值即可,但注意不要删除如SystemTray、ScanRegistry等这样的系统键值。

3.如果只想不启动而保留键值,只需在该键值加入rem即可。如:

“rem C:\Windows\a.exe”

4.在注册表中的自启动项中没有这项:

[HKEY_CURRENT_USER \Software\Microsoft\Windows\CurrentVersion\RunServices]

5.Run和RunServices的区别在于:Run中的程序是在每次系统启动时被启动,RunServices则

是会在每次登录系统时被启动。

关于:

[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx]

有特殊的语法:

例如,运行notepad.exeHKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx

"Title"="My Setup Title"

"Flag"=dword:00000002

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001

"RunMyApp"="||notepad.exe"

语法为:

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceExFlags = 0x0000000Title = "Status Dialog Box Title"

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\Depend0001 = "xxx1"

000X = "xxxx"

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\0001Entry1 = "MyApp1.exe"

EntryX = "MyApp2.exe"

HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnceEx\000x

...

注意:

1.“xxx1,xxxx”是一个动态链接库(DLL)或.OCX文件名(如My.ocx或My.dll)。

2.“0001,000x”是部分名字。可以是数字和文字??3.“entry1,entryX”是指向一个要运行的程序文件的注册表串值。

由于涉及篇幅较多,具体做法请浏览微软网页:

http://support.microsoft.com/support/kb/articles/Q232/5/09.ASP

2.特殊启动1:

在注册表中除了上述的普通的启动方式以外,还可以利用一些特殊的方式达到启动的目

的:

[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]实现木马的一种启动方式。

3.特殊启动2:

在注册表中:

HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\VxD的位置上有这样的地址。该地址是系统启动VxD驱动文件放置的地址,就像PrettyPark这个

蠕虫一样,可以建立一个主键之后把VxD文件添加到注册表中在这里。

注意:不可以直接把一个EXE文件改名为VxD文件,需要另外进行编程,生成的VxD文件。

接下文

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有