问题标签 [openprocess]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1224 浏览

browser - 互联网浏览器,谷歌浏览器注入

我编写了在 Internet Explorer/Chrome 中注入函数的代码,但它不适用于这些进程。基本上,它用我的函数需要的所有 API、字符串和其他数据填充一个大结构,然后它打开一个进程来获取句柄,virtualallocex分配足够的内存来存储函数和结构,然后编写函数和分配的内存中的结构。然后它在createremotethread那里运行,函数作为起始地址,结构作为参数。

它适用于 calc/notepad/winamp 进程,但浏览器注入有问题。

我想知道它可能是什么,我正在使用这些 API。

是因为浏览器现在受到保护并且它们以最低权限运行吗?

0 投票
1 回答
1224 浏览

c++ - 其他用户帐户上的 OpenProcess iexplore.exe 因拒绝访问而失败

我正在枚举所有用户的 iexplore.exe 实例。我能够获得机器上匹配进程的列表,但要识别用户,我需要使用 OpenProcess。这适用于我自己的实例,但即使使用以管理员身份运行和 EnableDebugPriv,我仍然会收到拒绝访问消息。我错过了什么吗?iexplore.exe 是否受到某种保护?

这是我用于调试权限的内容:

运行此程序时不会发生错误。运行时出现 ACCESS DENIED 错误

对于不属于我的进程。“其他”用户是从控制面板以正常方式在这台机器上创建的标准和访客帐户。任何想法将不胜感激。我被困住了!最终我想为用户提供关闭应用程序的能力,但即使只有 PROCESS_QUERY_LIMITED_INFORMATION 它也会失败。我仍然需要检查这是否是除 IE 之外的其他应用程序的问题。

更新我最终得到了这个工作。错误出现在 OpenProcessToken 中。我需要不同于我要求的特权。

0 投票
2 回答
1240 浏览

winapi - 当进程不再存在时,GetExitCodeProcess 如何获取退出代码

我首先使用 OpenProcess 处理进程。然后我在循环中调用 GetExitCodeProcess 以查看进程是否正在运行。但是 GetExitCodeProcess 是如何获取退出代码的呢?Windows 是否存储过去 30 分钟内运行的所有进程的退出代码?一旦应用程序退出,有关该进程的任何信息都会从 Windows 中删除。我不知道 GetExitCodeProcess 如何获取不再存在的退出代码...

0 投票
1 回答
3354 浏览

c++ - 卡在 OpenProcess 上,总是返回 0

当我运行我的程序时发生了一些奇怪的事情。当我在 VS 2010 中使用“不调试启动”选项运行它时,OpenProcess 照常返回进程句柄,但是当我在 Windows 资源管理器中运行我的程序时,OpenProcess 总是返回 0?!我调用了 GetLastError,它在这两种情况下都返回 6 (INVALID_HANDLE_VALUE)。我正在使用 Windows XP SP3 有人可以帮帮我吗?这是我写的代码:

0 投票
1 回答
512 浏览

vb.net - 如何在记事本中从流中打开文件

要打开一个文件,我可以这样做

为此,该文件必须存在于文件系统中。现在我使用一个 XmlDocument 对象,并希望在记事本等外部程序中打开内容。我将 xml 内容保存在流中,但不知道如何在另一个程序中显示它。

如果不可能,我必须先保存它,然后在第二步打开它。我只想避免将文件保存在文件系统中。

0 投票
1 回答
2447 浏览

c++ - 检测任何使用 OpenProcess 的程序?

为了保护我的程序,我想检查一下是否检测到任何使用我的 PID 执行 OpenProcess 的程序?我想防止其他程序可以轻松地处理我的程序。

我有什么选择?(WinAPI 等)一旦另一个程序使用 OpenProcess,我的程序是否会收到任何通知?

谢谢

0 投票
1 回答
95 浏览

vb6 - VB6 应用程序导致安装显示

我的 VB 应用程序遇到了一个奇怪的问题,这让我非常困惑。我正在更新现有程序。我不得不添加一些处理队列功能。在我的系统上,单元测试工作得很好,但是当我编译它并在另一台计算机(网络服务器机器)上运行它时,它首先尝试打开一个办公室安装。如果我取消它,程序似乎运行良好。问题是该程序将在后台运行,并且每次运行时我都无法取消。

所以我的问题是:这里发生了什么?我通常是我们 eclipse 的 java 开发人员,所以我习惯于能够自动将所有需要的库包含到 jar 文件中。VB6 似乎不是这种情况。似乎它希望所有相同的库都在所有系统上。有什么办法可以判断是什么触发了这种情况?

我能想到的唯一原因是我在kernal32 lib中使用了“OpenProcess”函数。这是我所做的唯一重大改变。

任何帮助都会非常有用。谢谢!

编辑:似乎系统上安装了多个版本的 word,它以某种方式搞砸了。我们卸载了一个并修复了它。

0 投票
1 回答
2603 浏览

c++ - 出现错误 - 启用权限后在 OpenProcess() 中拒绝访问

我想获取 csrss 进程的可执行路径。我启用了权限,但 GetLastError() 函数在 OpenProcess 中返回错误 5。我以管理员身份运行 Visual Studio 并在 64 位模式下编译程序,我也在使用 Windows 8。谢谢大家。

0 投票
1 回答
13498 浏览

c++ - WinAPI:OpenProcess() 返回错误 5,并为主机进程启用了 SeDebugPrivilege

我有一个例程,当我HANDLE在列表中“行走”时,我会处理遍历以获取每个进程的

HANDLE h = OpenProcess(PROCESS_ALL_ACCESS, FALSE, pe32.th32ProcessID)访问令牌在哪里PROCESS_ALL_ACCESS,句柄继承设置为FALSE,并且 pe32 是PROCESSENTRY32

GetLastError()返回错误代码 5,所有句柄都是与 Spy++32/64 中的任何适当进程不对应的地址(我尝试在两个平台目标下构建应用程序,但正如您所料,结果是一样的)。


为我正在使用的主机进程设置 SeDebugPrivilege 的代码是:


一些对您有帮助的问题:

  1. 我正在运行 Windows 7 x64 Professional。
  2. 是的,devenv.exe 以“以管理员身份运行”权限启动,这意味着调试器和应用程序本身是在相同的关联下启动的。
  3. 我尝试过切换 UAC 或完全关闭 UAC 运行应用程序。仍然是错误代码 5。
  4. 我只是尝试这样做,但PROCESS_QUERY_LIMITED_INFORMATION收到错误代码 6 或ERROR_INVALID_HANDLE. 也尝试使用PROCESS_QUERY_INFORMATION | PROCESS_VM_READ,结果再次出现错误 5。
  5. SeDebugPrivilege已启用,并通过 SysInternals 的 Process Explorer 进行了验证。此外,从 devenv / 任何调试器产生的所有进程都继承 SeDebugPrivilege 所以......这很奇怪。

非常感谢大家的宝贵时间,我正在解决这个问题:S

0 投票
2 回答
233 浏览

c - 检查应用程序先前启动的进程总是返回进程活动

我正在创建一个流程CreateProcess

  • 带旗帜CREATE_NO_WINDOW | CREATE_BREAKAWAY_FROM_JOB | CREATE_NEW_PROCESS_GROUP | DETACHED_PROCESS
  • InheritHandles参数 =TRUE
  • startupinfo 标准输出和标准错误文件重定向 ( STARTF_USESTDHANDLES)
  • SECURITY_ATTRIBUTES.InheritHandle = TRUE

进程在继续执行时关闭的句柄。

然后我通过获取具有给定 PID 的进程的句柄来检查进程状态:

编辑:是的,我正在检查返回的进程是否真的是我查询的进程:

无论创建的进程是否真的在运行,我都会得到该进程的有效句柄。如果我重新启动我的应用程序,检查代码将正常工作。我怀疑句柄以某种方式被缓冲,或者创建的进程在同一个组中 - 但我似乎无法在文档中找到任何关于它的信息。