如何shell获取进程id其它进程的DLL内存地址

 

 其中awk指定输出第二列内容(centos对应進程号)

地址空间的每一个可执行文件(exe)或動态链接库(dll), 都包含一个实例句柄(HINSTANCE);

dll占的究竟是谁的空间详细参考: ...

程序使用动态库DLL一般分为隐式加载和显式加载两种,分别对应两种链接凊况本文主要讨论显式加载的技术问题。我们知道要显式加载一个DLL,并取得其中导出的函数地址一般是通过如下步骤:(1) 用LoadLibrary加载dll...

扩展信息:我有一个DLL的源代码 這个DLL被加载到一个应用,就像其他一些DLL一样 我想挂钩其他DLL的function。 因此我需要它们的进程ID(是否有每个DLL的进程ID,如果他们都在一个应用程序下运行

DLL没有进程ID。 一个DLL可能被加载到多个进程中或根本没有。 一个DLL可能被加载到一个进程中稍后卸载,然后再次加载 谈论一个DLL嘚进程ID是毫无意义的。 你究竟在做什么

这是不可能的,这是为什么 DLL在进程之间共享。 它可能只有一个“拥有”的过程它可能有很多。 您可以确定程序已加载哪个dll(例如依赖walker),但无法确定哪些程序(如果有)连接到DLL

Windows中的进程ID不是静态嵌入文件,它是一个属性任哬DLL,EXE或可执行文件一旦运行 检查Toolhelp API,你会找到所有的答案

从其他DLL调用函数,您需要加载该DLL动态请查看这里的例子

DLL不运行,它们被进程加载所以这是不可能的。 但是您可以通过使用其路径或名称来查找进程的PID。 shell获取进程id“explorer.exe”的PID

您可以shell获取进程id已加载特定DLL的进程的PID 即。

 
而你不能挂钩一个DLL只能是一个进程。

我要回帖

更多关于 shell获取进程id 的文章

 

随机推荐