草庐IT

进程注入

全部标签

windows - 在驱动程序级别检索进程的命令行参数

你好,我正在编写一个minifilter驱动程序来拦截来自某个进程的所有irp数据包,比如a.exe。因此,在驱动程序代码中,可以通过对启动进程的命令行参数应用检查来完成。有谁知道如何检索命令行参数??提前致谢。 最佳答案 没有受支持的方法可以在内核模式中执行此操作。事实上,试图从内核访问用户模式进程信息通常是一件痛苦的事情。我建议向用户模式服务发出请求,然后它可以找到该信息并将其传递回您的内核组件。但是,有一个未记录的方法可以做到这一点。如果你能得到EPROCESS的句柄目标进程的结构,您可以获得指向PEB的指针(进程环境bloc

Python:给定pid获取用户进程的开始时间

继续问题标题,假设我有2个正在进行的ftp传输并且我想有选择地杀死(在使用taskkill的Windows中)旧的。我将在解析tasklist命令的输出后得到pids。我不知道如何根据开始时间来区分它们-用户过去启动它们的时间。这可以在python中完成吗?我所知道的是pid可以是随机的,即较新的进程可能比旧进程具有更小/更大的pid。所以必须看到开始时间。请帮忙 最佳答案 你可以用psutils做到这一点:直接来自文档:>>>importos,psutil,datetime>>>p=psutil.Process(os.getpid

c++ - 内存模块是否映射到进程的虚拟空间?

我在Windows上看到函数EnumProcessModules返回为指定进程加载的多个模块(其中一些应该是系统dll,如guard32.dll、version.dll等。)我的问题是:这些模块是否映射到进程的虚拟空间?我可以从主应用程序代码跳转到位于这些模块之一的指令(当然知道地址)吗? 最佳答案 是的,DLL应该映射到进程虚拟地址空间。如果页面中的代码尚未执行,则映射可能不会得到真实物理页面的支持,并且当然执行“随机”代码位而没有正确的初始化或设置代码以正确执行(例如调用处理函数使用一些需要在另一个函数中分配的数据)显然会在一些

c++ - 在 ATL 项目中将 NULL 指针传递给进程外 COM 方法的正确方法

在ATL项目中将NULL指针传递给进程外COM方法的正确方法是什么?我创建了一个通过COM代理托管的COM服务器如果这很重要,我使用的是在Win7上运行的VS2012。服务器项目编译为64位,客户端项目编译为32位IDL看起来类似于下面import"oaidl.idl";import"ocidl.idl";[object,uuid(37EFA952-7036-4398-93A6-6CDAD9DFC005),dual,nonextensible,pointer_default(unique)]interfaceIGame:IDispatch{[id(1)]HRESULTpassNull(

c++ - 如何获得给定进程的窗口站?

比如说,如果我有一个进程ID或者它的句柄,我能得到windowstation吗?该进程运行在什么条件下? 最佳答案 不是直接的,但试试这个:调用EnumWindowStations()在与调用进程相同的Session中枚举可用的窗口站(如果您需要在另一个Session中查询进程,那么这将不起作用)。对于每个窗口站,请调用EnumDesktops()枚举其桌面。对于每个桌面,请调用EnumDesktopWindows()枚举其顶级窗口。对于每个窗口,调用GetWindowThreadProcessId()获取其进程ID并将其与您要查找

PHP 获取 python 进程并杀死它。 Xampp/Windows

如何获取所有python进程以及每个进程的参数并通过PHPXampp/Windows终止它 最佳答案 在Windows上有三个系统命令来获取进程:tasklist,可能是最简单的(尽管您无权访问args)。get-process,需要powershell,看不到它的输出我没有powershell什么应该满足你的需求:wmicprocess所以你应该在PHP中使用system()运行这个命令,这样你就可以得到输出,然后解析它,当你得到进程ID时,使用另一个系统命令来杀死它:taskkill/PID99999#replace99999w

windows - 了解 Windows 中正在运行的进程的布局(段)的任何工具?

我一直很好奇进程在内存中的具体情况如何?其中有哪些不同的段(部分)?程序(在磁盘上)和进程(在内存中)究竟是如何相关的?我之前的问题:moreinfoonMemorylayoutofanexecutableprogram(process)在我的探索中,我终于找到了答案。我发现这篇优秀的文章清除了我的大部分疑问:http://www.linuxforums.org/articles/understanding-elf-using-readelf-and-objdump_125.html在上面的文章中,作者展示了如何获取进程的不同部分(LINUX),并将其与相应的ELF文件进行了比较。我在

windows - 在 Windows 7 上使用 emacs 运行其路径名中包含空格字符的进程

对于emacs中的F#模式,需要在.emacs中添加以下行。问题是由于文件路径之间的空格,C-cC-s不起作用。(setqfsharp-compiler"C:/ProgramFiles/MicrosoftF#/v4.0/fsc.exe")我必须将F#编译器复制到其文件路径中没有空间的目录。(setqfsharp-compiler"C:/app/fsharp/fsc.exe")如何使用emacs运行路径名中有空格的进程? 最佳答案 首先,确保您拥有最新版本的F#模式(这是6月份修复的错误)。然后,按照README文件中的说明进行操作!

windows - 获取正在运行的进程的分配内存区域

谁能告诉我如何使用WinAPI函数获取某些进程的内存分配内存区域?我想知道每个区域、起始地址、大小和其他一些信息,例如保护类型等。我找不到任何WinAPI函数来执行此操作;-(谁能帮帮我? 最佳答案 有代码可以使用VirtualQueryEx来暴力破解here:MEMORY_BASIC_INFORMATIONmbi;/*Getmaximumaddressrangefromsysteminfo*/GetSystemInfo(&si);/*walkprocessaddresses*/lpMem=0;while(lpMemmbi.Base

c++ - 如何将当前进程分配给新创建的作业对象?

我似乎无法使用AssignProcessToJobObject将当前进程分配给CreateJobObject给出的作业对象句柄的函数.这已经在StackOverflow上被问过几次了,但到目前为止,没有任何解决方案(通常归结为嵌入UAClist)似乎对我有用。为此,我在Windows7上使用MSVC9。这是我的示例应用程序的源代码和我正在嵌入的一个小list(据说可以解决问题-但对我来说不是):我的示例应用程序(main.cpp):#includestaticvoiddumpLastError(){LPVOIDlpMsgBuf;DWORDdw=GetLastError();Format