草庐IT

进程注入

全部标签

c# - 如何在 Windows 中的那个时刻查找特定进程的 cpu 使用率

是否有可能在Windows中以编程方式(以任何语言)了解正在运行/空闲进程的CPU使用情况? 最佳答案 如果您不关心支持旧的Windows版本(早于WindowsXPSP1),您可以使用GetSystemTimesWin32APIfunction.否则你必须使用PerformanceCounters. 关于c#-如何在Windows中的那个时刻查找特定进程的cpu使用率,我们在StackOverflow上找到一个类似的问题: https://stackover

c - 如何枚举内核中指定进程的所有打开句柄(Windows)

我有一个内核驱动程序。我如何枚举我的内核驱动程序中指定进程的所有打开句柄?我想关闭这些句柄。谢谢! 最佳答案 Iwanttoclosethesehandles.就其值(value)而言,仅仅因为可以做某事,并不意味着应该做。这是个坏主意。也就是说,可以使用对Zw/NtQuerySystemInformation的未记录调用来枚举所有进程的所有句柄。具有信息类SystemHandleInformation。使用这些术语进行网络搜索会得到您想要的结果。 关于c-如何枚举内核中指定进程的所有打

c++ - 创建进程处理

我使用WindowsAPICreateProcess函数。在它的msdn手册中,我找到了Ifthefunctionsucceeds,besuretocalltheCloseHandlefunctiontoclosethehProcessandhThreadhandleswhenyouarefinishedwiththem.Otherwise,whenthechildprocessexits,thesystemcannotcleanuptheprocessstructuresforthechildprocessbecausetheparentprocessstillhasopenhand

c++ - 通过 FS 寄存器访问衍生进程的 TIB?

我想访问衍生进程的TIB(我使用CreateProcessW成功创建了进程)。我通过以下方式获得了指向生成进程的TIB的指针:GetThreadContext(当然有权限设置)访问pContext.SegFs像这样格式化这个值:(ldtSel.HighWord.Bits.BaseHi(我不认为这是必要的)。格式后我剩下的值是一个10位指针。我如何使用这个变量代替fs寄存器来访问线程信息block?我访问它的常规方式通常是这样的:__asm{moveax,fs:[0x30]//PEBmovdwPebBase,eax}不过,用指针变量替换“fs”当然不行,去掉分号还有意想不到的效果。那么我

windows - 如何使用 BAT 文件终止所有以我的用户帐户启动的进程?

我正在创建一个“自毁”脚本,当有人试图非法访问我的文件时,它会删除我的用户文件夹。我没有管理员权限,但我有权删除我自己的用户文件夹。如果一个进程出于明显的原因访问文件,Windows不会让我删除它,所以我想尝试做的是退出以我的用户名运行的所有进程,这样我就可以放心地删除该文件夹。有没有办法用TASKKILL.exe做到这一点? 最佳答案 这应该强制终止用户MyUser的任何任务:taskkill/f/fi"USERNAMEeqMyUser"引用资料:Taskkilldocumentation

windows - 错误 0xc000007b 尝试绕行注入(inject) DLL 时

我正在尝试使用最新的32位Detours库将DLL注入(inject)新进程。http://research.microsoft.com/en-us/projects/detours/它过去对我有用,但在更改DLL后,它不再对所有进程起作用。当我恢复该过程时,我收到一个消息框,上面写着Theapplicationwasunabletostartcorrectly(0xc000007b).ClickOKtoclosetheapplication.我用注入(inject)的纯空DLL重新创建了它,除了kernel32.dll之外没有任何依赖项。对于其他可执行文件,它可以完美地工作。知道为什

windows - 系统如何定义进程获得的虚拟内存部分?

如果是32位系统(假设是Windows),虚拟地址空间是4GB。所以CPU可以生成这个范围内的任何地址。那么一个进程不应该也能够解决这个范围内的任何地方吗?据说每个进程都有自己私有(private)的虚拟地址空间。那么系统是如何实现的呢?换句话说,CPU生成一个32位地址,然后将其转换为物理地址。现在CPU如何知道一个特定的进程只需要处理虚拟地址空间的特定部分(它的私有(private)虚拟地址空间)。假设一个进程在其私有(private)虚拟地址空间之外寻址一个地址,会发生什么? 最佳答案 程序必须在Windows上调用Virtu

c++ - 32 位程序无法捕获在 32 位进程上进行的击键,但能够捕获在 64 位进程上进行的击键

我的环境详细信息:操作系统:Windows7EnterpriseServicePack1(64位操作系统)编译器:MicrosoftVisualStudio2005(Microsoft(R)32位C/C++优化编译器版本14.00.50727.762,适用于80x86)我的程序main.exe和hook.dll是32位的InternetExplorer(iexplore.exe)是64位Chrome(chrome.exe)是32位的我编写了一个名为main.exe的C++程序,它进行以下调用:HOOKPROCcallback=(HOOKPROC)GetProcAddress(dll,"

windows - 进程中的线程数是什么意思(wmic)

当我通过命令行运行wmic查询时,我检测到一行具有ThreadCount值。我不知道ThreadCount的含义。我正在运行这个wmic查询:wmicprocesswhere(Captionlike'%explorer%')get*/format:list上述查询的输出:Caption=explorer.exeCommandLine=C:\Windows\Explorer.EXECreationClassName=Win32_ProcessCreationDate=20140725092933.908032+330CSCreationClassName=Win32_ComputerSy

python - 在网络上的另一台计算机上启动进程

我需要启动一系列python脚本和/或其他Windows可执行文件。其中一些需要Windows系统,其他需要Linux机器。目前有指定的机器来运行依赖于操作系统的程序。所以我知道我想从哪里开始哪个程序。有没有办法从本地网络上的另一台计算机上的python脚本启动python脚本(或windows可执行文件)(例如运行192.168.0.101:/dir/python_script_123.py?然后应该运行各种程序的脚本在伪代码中可能看起来像这样..linuxip=192.168.0.101linuxparam="requiredparameter"winip=192.168.0.20