我想了解如何做到这一点,我目前正在使用CreateToolHelp32SnapShot获取正在运行的进程的列表,我已经得到了可执行文件的FilePaths目前正在运行,但我需要能够找出哪些命令行选项用于启动该进程。查找命令行选项一个进程启动与
我知道它可能的,因为你可以看到它的进程资源管理器,我试图找到旧进程资源管理器的源代码,但没有运气:(发生几乎立即将注入线程
我想了解如何做到这一点,我目前正在使用CreateToolHelp32SnapShot获取正在运行的进程的列表,我已经得到了可执行文件的FilePaths目前正在运行,但我需要能够找出哪些命令行选项用于启动该进程。查找命令行选项一个进程启动与
我知道它可能的,因为你可以看到它的进程资源管理器,我试图找到旧进程资源管理器的源代码,但没有运气:(发生几乎立即将注入线程
检查,如果NtQueryInformationProcess和ReadProcessMemory共赢API调用会做你的需要。有没有简单的例子,为使检查源代码在这里:Get Process Info with NtQueryInformationProcess
另一种方式获得此数据是throgh WMI,水木清华这样的:
SELECT CommandLine FROM Win32_Process WHERE ProcessId = ???
更多的信息在这里:Win32_Process Class
一种可能性到目标进程(CreateRemoteThread
),并有通话。
获取正在运行的进程不能以可靠的方式来完成的命令行。这是非常可能正在运行的进程的命令行改变而改变存储这些命令的内存。
Raymond Chen在这个问题上做了一篇很好的文章,最近详细说明了为什么它不可靠。
IIRC命令行参数存储在过程环境中 - 如果您可以访问它,您也可以阅读它们。