标题: [文件操作] [代码征集]批处理读取自启动文件及路径 [打印本页]
作者: youxi01 时间: 2007-11-24 16:35 标题: [代码征集]批处理读取自启动文件及路径
利用批处理读取自启动文件名及相应路径。
PS:windows自启动方式多种多样,具体参见文章:Windows-自启动方式完全总结
要求:
1、程序能够读取自自动文件名;
2、能够读取自启动文件的路径;
3、最好提取该启动文件的建立日期(判断是否是病毒).
作者: novaa 时间: 2007-11-26 08:43
先来个reg的帮助文档,呵呵因为写这个必须用到reg- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=1* skip=1" %%a in ('reg /?^| findstr /e ?') do (
- reg %%b
- )
- pause>nul
复制代码
个人觉得那么多的启动项,一个一个的查询不仅没有意义,而且费时间
看防火墙和一般工具一般只查
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run
和
C:\DOCUME~1\ADMINI~1\LOCALS~1\「开始」菜单\程序\启动
所以我的代码只查了这两项:- @echo off
- echo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run里面的启动项及路径有:
- for /f "skip=4 tokens=1,3" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run') do echo %%a &echo %%b
- echo 「开始」菜单\程序\启动里面的项目有:
- for /r C:\DOCUME~1\ADMINI~1\LOCALS~1\「开始」菜单\程序\启动 %%i in (*) do echo %%i
- pause>nul
复制代码
[ 本帖最后由 novaa 于 2007-11-26 10:02 编辑 ]
作者: novaa 时间: 2007-11-26 22:41
转自新视界网络
- wmic startup list brief |findstr /v "desktop.ini ctfmon.exe" >启动项.txt
复制代码
运行后将会在当前目录下生成一名为“启动项”的文本文件,它会自动过滤掉常用的
启动文件夹下的desktop.ini以及要用到的ctfmon.exe。
- start msinfo32 /categories +SWEnvStartupPrograms /report 启动项.txt
复制代码
运行后同样会在当前目录下生成一个名为启动项的文本文件,不过它不能过滤你不想要
的东西。
获取进程列表- 方法一: wmic process list status >进程列表.txt
-
- 方法二:tasklist >进程列表.txt
-
- 方法三: start msinfo32 /categories +SWEnvRunningTasks /report 进程列表.txt
复制代码
结束进程- 方法一:taskill /im 进程名 或PID 例:taskill /im notepad.exe 又如:taskill 514 (514
- 为进程PID)
-
- 方法二:ntsd -c q -p 进程PID
-
- 方法三:wmic process where name="进程名" call terminate
复制代码
作者: somebody 时间: 2007-11-29 14:30
我靠,novaa 你转那么多东西做什么啊``
不要再让我见到msinfo32,这个垃圾N 慢啊````
前阵子我也想写个检查自动项的,写了一半没心思,我就提供一下资料,然后你们去写
注意: ShellExecuteHooks下只有{AEB6717E-7E19-11d0-97EE-00C04FD91972},而且值为空
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\ShellExecuteHooks]
"{AEB6717E-7E19-11d0-97EE-00C04FD91972}"=""
注意: AppInit_DLLs 的值正常情况下为空
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Windows]
"AppInit_DLLs"=""
注意: 这个键下有几个是正常的启动项,比如ctfmon.exe,还有显卡驱动等等
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run]
注意: Windows 项下的 load 可有可无,就算有,load 的值正常情况下应该有空
[HKEY_CURRENT_USER\Software\Microsoft\Windows NT\CurrentVersion\Windows]
"load"=""
注意: Shell 的值一定是 Explorer.exe,常见的出错情况就是:
"Shell"="Explorer.exe *.dll" 意思就是启动explorer.exe的时候就被注入了某个DLL
Userinit 也是个要注意的,注意C:\\WINDOWS\\system32\\userinit.exe, 末尾是有个逗号
常见的出错情况就是:
"Userinit"="C:\\WINDOWS\\system32\\userinit.exe,*.dll"
意思就是启动userinit.exe 的时候就被注入了某个DLL,刚开机进入系统时刻就会启动userinit.exe
UIHost 是扩展字符串类型,REG_EXPAND_SZ, 值是 logonui.exe
以下显示的是他的 十六进制 值
这个logonui.exe 可猛了,管理用户登陆关机验证的接口,这个东西不正常的话,搞不好你机都关不了
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Winlogon]
"Shell"="Explorer.exe"
"Userinit"="C:\\WINDOWS\\system32\\userinit.exe,"
"UIHost"=hex(2):6c,00,6f,00,67,00,6f,00,6e,00,75,00,69,00,2e,00,65,00,78,00,65,\
00,00,00
作者: novaa 时间: 2007-11-29 18:25
我是抱着学习的态度转的,不一定要多有用
呵呵
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |