• Windows下查看dll被哪个进程调用


    卸载程序,结果没卸载干净---程序的安装目录中还剩下一个dll文件。想删,结果系统提示说dll文件被某个进程占用了,不让删。

    先前碰到这种做法,我都是直接使用unlocker先unlock一下,然后删的。不过公司的电脑,不让随便安装软件,于是只能想其他办法了。

    在网上找了半天,终于给找到查看dll被某个进程调用的方法了。

    在命令行下使用 tasklist /m dll文件名 就能查找了。原来tasklist还有这作用啊。于是又去翻tasklist的使用说明。以下就是找到的应用举例,具体的tasklist参数和含义,直接使用tasklist /?看就行了。

    ------------------------------------------------------------------------------华丽的分割线------------------------------------------------------------------------------------------------------------

    应用实例

    1.查看本机进程

    在"命令提示符"中输入Tasklist命令即可显示本机的所有进程(图1)。本机的显示结果由5部分组成:图像名(进程名)、PID、会话名、会话#和内存使用。

    2.查看远程系统的进程

    在命令提示符下输入"Tasklist /s 218.22.123.26 /u jtdd /p 12345678"(不包括引号)即可查看到IP地址为218.22.123.26的远程系统的进程。其中/s参数后的"218.22.123.26"指要查看的远程系统的IP地址,/u后的"jtdd"指Tasklist命令使用的用户账号,它必须是远程系统上的一个合法账号,/p后的"12345678"指jtdd账号的密码。

    注意:使用Tasklist命令查看远程系统的进程时,需要远程机器的RPC服务的支持,否则,该命令不能正常使用。

    3.查看系统进程提供的服务

    Tasklist命令不但可以查看系统进程,而且还可以查看每个进程提供的服务。如查看本机进程SVCHOST.EXE提供的服务,在命令提示符下输入"Tasklist /svc"命令即可(图3)。你会惊奇地发现,有4个SVCHOST.EXE进程,而总共有二十几项服务使用这个进程。

    对于远程系统来说,查看系统服务也很简单,使用"Tasklist /s 218.22.123.26 /u jtdd /p 12345678 /svc"命令,就可以查看IP地址为218.22.123.26的远程系统进程所提供的服务。

    4.查看调用DLL模块文件的进程列表

    要查看本地系统中哪些进程调用了shell32.dll模块文件,只需在命令提示符下输入"Tasklist /m shell32.dll"即可显示这些进程的列表。

    5.使用筛选器查找指定的进程

    在命令提示符下输入"TASKLIST /FI "USERNAME ne NT AUTHORITYSYSTEM" /FI "STATUS eq running",就可以列出系统中正在运行的非SYSTEM状态的所有进程。其中"/FI"为筛选器参数,"ne"和"eq"为关系运算符"不相等"和"相等"。

    综合应用之结束进程

    一、Tasklist

    谈到"Tasklist"命令,我们就不得不提到它的孪生兄弟"Taskill"命令,顾名思义,它是用来关掉进程的。

    要关掉本机的notepad.exe进程,有两种方法:

    1、先使用Tasklist查找它的PID,假设系统显示本机notepad.exe(notepad.exe是个病毒性程序,很难删除,一般在C:/windows/system32下)进程的PID值为1132,然后运行"Taskkill /pid 1132"命令即可。其中"/pid"参数后面是要终止进程的PID值。

    2、直接运行"taskkill /IM notepad.exe"命令,其中"/IM"参数后面为进程的图像名。

    二、NTSD

    系统debug级的ntsd,很多进程Tasklist是杀不了的,但是用ntsd就可以,基本上除了WINDOWS系统自己的管理进程,ntsd都可以杀掉,不过有些rootkit级别的超级木马就无能为力了,不过幸好这类木马还是很少的。

    1、利用进程的PID结束进程

    命令格式:ntsd -c q -p pid

    命令范例: ntsd -c q -p 1332 (结束explorer.exe进程)

    2、利用进程名结束进程

    命令格式:ntsd -c q -pn ***.exe (***.exe 为进程名,exe不能省)

    Keep it simple!
    作者:N3verL4nd
    知识共享,欢迎转载。
  • 相关阅读:
    mac 使用brew 安装php-redis
    thinkphp6 使用redis 实现消息队列
    Redis 桌面管理器:Another Redis Desktop Manager
    linux 查看并关闭shell脚本执行
    MySQL教程之concat以及group_concat的用法
    PHP redis 使用
    thinkphp6 command(自定义指令)
    git 使用
    linux shell中 "2>&1"含义
    linux crontab 定时任务
  • 原文地址:https://www.cnblogs.com/lgh1992314/p/5834923.html
Copyright © 2020-2023  润新知