国庆长假之后的大作业就这么又冒了一个出来...
昨天看了一下课外研究的文档,概括讲主要需要的研究的东西是,windows中的自启动项原理。所谓自启动项,顾名思义,就是随着系统的初始化,自行启动的进行之类的东西。一般修改windows自启动项,我会选择在系统管理工具里面进行设置,后来在网上查了一下,其实自启动可修改的地方还是很多的。搜集了一些自启动方式的总结文章,如下:(参考 http://qq164587043.blog.51cto.com/261469/173669)
1.
自启动项目:这个在网上查到的是C:\Documents and Settings\Owner\开始
主要将文件拖到对应目录下,就可以启动运行文件。
在vista下的试验结果是,并不能按照这种方式来进行直接添加启动文件。所以目前的判断是windows xp之前的系统中可以使用这种方式,但是考虑到安全因素,这种方式在xp之后的系统被禁用了。
2.
系统配置文件启动:
Win.ini启动
[windows]
load=filename.exe //文件load进入后来运行
run=filename.exe //文件在默认状态下运行
system.ini启动
[boot]
Shell=Explorer.exe //这个是正常的
有些病毒程序会借此机会,来运行制定的文件,如: Shell= Explorer.exe filename.exe
wininit.ini启动
Wininit=windows setup initialization
utility即windows安装初始化工具。它会在系统卸载windows之前让系统执行一些命令(复制,删除,重命名…)以完成更新文件的目的
[rename]
Filename1 = filename2 //这里是文件重命名
[rename]
nul=filename
注意:这里的文件需要有完整的文件路径。
winstart.bat
bat是系统批处理文件,主要来进行复制和删除的批量操作。一些软件卸载后的碎片文件可以使用bat来处理。
@if exist C:\WINDOWS\TEMPXXX.BAT call C:\WINDOWS\TEMPXXX.BAT //如果存在就执行文件。
USERINIT.INI
也用作病毒的启动方式,与system.ini类似。实际在vista系统中userinit是一个exe文件,并没有发现ini文件。
3.注册表启动(见后)
看了之后,大概也就知道了个所以然了吧,于是选用了比较popular的自启动管理工具autoruns查看了一下当前系统中的自启动。
看了一下autoruns之后,发觉autoruns应该是根据注册表键值来判断启动项的。
所以目前的想法是,通过程序来进行注册表的查询显示,然后对特定的值进行判断后,打印出自启动项。
Load注册键:HKEY_CURRENT_USER\Software\Microsoft\WindowsNT\ CurrentVersion\Windows\load
Userinit注册键:HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\WindowsNT\CurrentVersion\Winlogon\Userinit
Explorer\Run注册键:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Policies\Explorer\Run
RunServicesOnce注册键:HKEY_CURRENT_USER\Software\Microsoft\Windows\ CurrentVersion\RunServicesOnce
和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunServicesOnce
RunServices注册键:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\RunServices
和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\ CurrentVersion\RunServices
RunOnce\Setup注册键:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\ RunOnce\Setup
和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\RunOnce\Setup
Run注册键:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Run
和HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
参考代码 http://www.wyjexplorer.cn/Blog/View/ACC9D6389EE5310F.html