草庐IT

进程注入

全部标签

c# - 启动进程时出现错误 C0000142

我正在尝试在不同的帐户下启动一个进程(设置StartInfo.UserName/Password)。这在交互式运行时有效,但在尝试从通过任务计划程序启动的进程运行时失败并出现错误-1073741502(C0000142;“DLL初始化失败”)。我尝试切换到WIN32API并使用STARTUPINFO.lpDesktop=""创建一个新的WindowStation,但我遇到了同样的错误。更新:我刚找到一个相关问题,不幸的是它也缺少答案:Permissionsproblemwhenstarting.NETappfrom.NETserviceasadifferentuser?

windows - Powershell - 捕获套接字和进程

我正在尝试这个小型powershell脚本每五秒查找一次netstat-ano输出,然后仅过滤任何IP地址上端口80上的传出连接,并捕获打开套接字的相关进程。我认为这里的问题是如果输出中有多个条目则它无法处理数组。这里缺少什么?有更好的方法吗?while(1){netstat-ano|?{$_-like"*10.10.10.10:**:80*"}|%{$_-match"\d+$";$matches|ForEach-Object{Get-Process-id$matches[0]|Format-List*;(Get-Process-id$matches[0]).WaitForExit()

c++ - 如何使进程 B 仅在进程 A 处于事件状态时运行

我有一个启动另一个进程B的进程A。当前,进程B在退出之前等待由进程“A”发出的信号(WaitForSingleObject),一旦设置了信号,进程B就会退出。但是,当进程A意外终止或崩溃时,我最终进程B仍在运行。我怎样才能让B无限期地等待信号,除非进程A崩溃了?换句话说..进程B应该只在进程A运行之前保持事件状态。谢谢 最佳答案 WaitForSingleObject在进程A的进程句柄上;它会在A死亡时发出信号。另一种方法是将B作为调试器附加到A。然后您将在进程退出时收到一个事件,并且可以完美同步退出。

windows - 从 shell 或脚本设置 Windows 进程权限

我很幸运我的机器上有一些默认情况下我无法终止的进程-任务管理器声称“访问被拒绝”。因为我有管理员访问权限,所以我可以在ProcessExplorer中终止这些进程通过修改他们的权限并在尝试杀死他们之前授予管理员组“完全控制”。我想在脚本中自动执行此操作,最好是在标准CMD中,必要时使用PowerShell或.NET脚本。谁能指出我进行必要的调用? 最佳答案 添加了npocmaka的评论作为答案。使用以下语句以管理员身份终止进程:runas/user:Administratortaskkill/improcessName*/f

c++ - 如何复制当前进程?

复制当前进程以在Windows中生成另一个实例的最简单方法是什么?我知道Linux有fork(),但我只需要在同一进程中再次运行main,可能使用带有正确参数的CreateProcess()。 最佳答案 正如@DavidHeffernan评论的那样:STARTUPINFOsi;::memset(&si,0,sizeof(si));si.cb=sizeof(si);PROCESS_INFORMATIONpi;::CreateProcess(NULL,::GetCommandLine(),NULL,NULL,FALSE,0,NULL,N

c++ - 列出 Windows 进程和模块

所以我最近一直在研究WindowsAPI,并且遇到了一个问题,我需要一些帮助。其实准确的说是两个问题。我将首先展示代码,然后解释我遇到的困难:#pragmaonce#pragmacomment(lib,"Psapi.lib")#include#include#include#include#includevoidProcessError(DWORDerror);intmain(){FILE*file=fopen("C:\\Users\\Administrator\\Desktop\\processes.txt","w");DWORDcount,i,modulesCount;WCHARb

Python:当 KeyboardInterrupt 被转发到多处理子进程时?

我在Windows上执行了以下测试代码:importmultiprocessingimporttimedefchild():whileTrue:time.sleep(2)if__name__=='__main__':multiprocessing.Process(target=child).start()whileTrue:time.sleep(1)如果我在它工作时按Ctrl-C,我会看到两个KeyboardInterrupt异常-一个用于sleep(1)和一个用于sleep(2)。主process中的键盘中断是如何转发给子process的?它们毕竟是进程,而不是线程:(。

c# - 以系统用户身份启动进程

我试图在Windows上使用代码(c#)从一些注册表项中读取一些值,我发现我无法读取这些值的原因是因为管理员用户没有权限:所以我手动导航到给我带来麻烦的注册表项,这就是权限选项卡的样子:所以这让我想到了如何以用户“系统”的身份运行进程?这听起来很奇怪,但显然有一个系统用户对吗?我知道如何以管理员身份运行,但也许也可以以系统身份运行。编辑这是我的代码。基本上我想遍历所有注册表项:classProgram{//classtostoreregkey.[Serializable][DebuggerDisplay("Name={Name},Val={value},type={type}")]cl

python - 如何防止其他进程随意更改文件夹?

如何防止其他进程随意更改文件夹?我是这样做的:importosusername=os.environ.get("USERNAME")os.system(r"echoy|caclsMyFolder/T/P%s:R>NUL"%username)#readonlyos.system(r"echoy|caclsMyFolder/T/P%s:F>NUL"%username)#fullaccess这样做的缺点是什么?什么是最好的方法? 最佳答案 在一般情况下,您不能这样做。最好将文件系统视为一个多线程对象,您无法对其进行同步。(http://b

c# - 模拟后回退到子进程的默认用户

我的应用程序通常由用户A作为用户B使用System.Process.Start("app.exe","UserB","secret")启动。现在,我希望app.exe产生额外的子进程,但作为UserA,没有UserB拥有的额外权限。有没有办法在不询问UserA密码的情况下完成此操作?我试过在没有凭据的情况下使用System.Process.Start以及调用cmd/Cchild.exe,但这两种方法都以UserB身份启动child.exe。我正在考虑一种方法让当前shell为我启动子进程,但我还没有找到。 最佳答案 最简单的解决方案