[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文件操作] [代码征集]批处理读取自启动文件及路径

利用批处理读取自启动文件名及相应路径。

PS:windows自启动方式多种多样,具体参见文章:Windows-自启动方式完全总结
要求:
1、程序能够读取自自动文件名;
2、能够读取自启动文件的路径;
3、最好提取该启动文件的建立日期(判断是否是病毒).

先来个reg的帮助文档,呵呵因为写这个必须用到reg
  1. @echo off
  2. setlocal enabledelayedexpansion
  3. for /f "tokens=1* skip=1" %%a in ('reg /?^| findstr /e ?') do (
  4. reg %%b
  5. )
  6. pause>nul
复制代码

个人觉得那么多的启动项,一个一个的查询不仅没有意义,而且费时间
看防火墙和一般工具一般只查
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run

C:\DOCUME~1\ADMINI~1\LOCALS~1\「开始」菜单\程序\启动
所以我的代码只查了这两项:
  1. @echo off
  2. echo HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run里面的启动项及路径有:
  3. for /f "skip=4 tokens=1,3" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run') do echo %%a &echo %%b
  4. echo 「开始」菜单\程序\启动里面的项目有:
  5. for /r C:\DOCUME~1\ADMINI~1\LOCALS~1\「开始」菜单\程序\启动 %%i in (*) do echo %%i
  6. pause>nul
复制代码

[ 本帖最后由 novaa 于 2007-11-26 10:02 编辑 ]
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

转自新视界网络
  1. wmic startup list brief |findstr /v "desktop.ini ctfmon.exe" >启动项.txt
复制代码

运行后将会在当前目录下生成一名为“启动项”的文本文件,它会自动过滤掉常用的
启动文件夹下的desktop.ini以及要用到的ctfmon.exe。
  1. start msinfo32 /categories +SWEnvStartupPrograms /report 启动项.txt
复制代码

运行后同样会在当前目录下生成一个名为启动项的文本文件,不过它不能过滤你不想要
的东西。
获取进程列表
  1. 方法一: wmic process list status >进程列表.txt
  2. 方法二:tasklist >进程列表.txt
  3. 方法三: start msinfo32 /categories +SWEnvRunningTasks /report 进程列表.txt
复制代码

结束进程
  1. 方法一:taskill /im 进程名 或PID 例:taskill /im notepad.exe 又如:taskill 514 (514
  2. 为进程PID)
  3. 方法二:ntsd -c q -p 进程PID
  4. 方法三:wmic process where name="进程名" call terminate
复制代码
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

我靠,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
Software is like sex: it's better when it's free..!

TOP

我是抱着学习的态度转的,不一定要多有用
呵呵
ㄗs:A good programming is 99% sweat and 1% coffee!--①個亾

============ >   hi.baidu.com/novaa   <============

TOP

返回列表