草庐IT

进程注入

全部标签

python - 子进程窗口快速消失

在python中,我使用subprocess.Popen()来启动几个进程,我想调试这些进程,但是这些进程的窗口很快就消失了,我没有机会看到错误消息。我想知道有什么方法可以阻止窗口消失或将窗口中的内容写入文件以便稍后看到错误消息。提前致谢! 最佳答案 您可以使用stdout和stderr参数将输出写入文件。示例:withopen("log.txt",'a')aslog:proc=subprocess.Popen(['cmd','args'],stdout=log,stderr=log)

c++ - 在注入(inject)另一个进程时控制 dllmain() 调用的顺序

有没有办法以某种方式控制DLL的加载顺序?这主要与存在于DllMain()函数中时必须遵守的限制有关。BOOLWINAPIDllMain(HINSTANCEhinstDLL,DWORDfdwReason,LPVOIDlpReserved){switch(fdwReason){caseDLL_PROCESS_ATTACH:{SHGetKnownFolderPath()}caseDLL_PROCESS_DETACH:{DllMainProcessDetach(hinstDLL,lpReserved);returnTRUE;}default:break;}returnTRUE;}在那个特定的

c# - 如何在 Windows 下通过调用启动一个进程?

我有以下在Linux下工作的代码:ProcessStartInfostartInfo=newProcessStartInfo();//SetintheprocesstheexecutableandargumentsstartInfo.FileName="ps";startInfo.Arguments="a";Processproc=Process.Start(startInfo);proc.WaitForExit();returnproc.ExitCode;但是,当我尝试在Windows下使用进程执行简单命令时:ProcessStartInfostartInfo=newProcessS

windows - 用于检查电池状态变量并在 if 语句中使用它的脚本,是否有任何脚本可以使 .bat 文件每分钟作为隐藏进程运行

目前,我正在尝试创建一个脚本文件,如果它检测到笔记本电脑正在使用电池而不是交流电运行,它将启动其他程序。前提是我使用的是Windows8.1。我创建了一个.bat文件并输入了以下脚本:@ECHOOFFREMToCheckthebatterystatus,providingthat2isconnectedtotheACWMICPathWin32_BatteryGetBatteryStatusREMCheckthecontentofbatterystatusvariableIFNOT"%BatteryStatus%"=="2"(echolaptopstartedtouseitsbatter

c++ - 获取已创建进程的进程句柄 Windows

我需要在运行我的程序时为刚刚创建的所有进程提供句柄或PID。到目前为止,我已经使用了这段代码,每次创建进程时都会告诉我。问题是我只获得有关创建的进程的信息,但我没有关于进程本身的任何信息。https://msdn.microsoft.com/en-us/library/aa390425(VS.85).aspx这是我获得事件的功能,但我不知道从哪里可以获得新流程的信息:HRESULTEventSink::Indicate(longlObjectCount,IWbemClassObject**apObjArray){HRESULThres=S_OK;for(inti=0;i谢谢

c++ - 如何在进程外客户端中获取免注册 COM 对象代理

我不知道是否有使这成为可能的API,或者我是否必须自己动手。这就是我想要完成的。我有一个连接到NT服务以启动与另一个COM服务器的session的应用程序。应用程序,客户端。经纪人NT服务;(系统帐户上下文)。sessionCOM服务;(系统帐户上下文,将根据需要模拟用户)。session服务器将为连接到NT服务的每个应用程序实例都有一个运行实例。应用程序可以请求session服务器加载COM库DLL,并从session服务器中的那些DLL托管对象和服务。DLL通过免注册激活进行注册。从session服务器创建对象并将它们传回应用程序只要它们是IDispatch派生的就可以正常工作,这

windows - 进程终止会自动释放所有使用的内存吗?有什么理由明确地这样做吗?

在WindowsNT和更高版本中,我假设当一个进程到期时,无论是因为它自己终止还是被强制终止,操作系统都会自动回收该进程使用的所有内存。在任何情况下这不是真的吗?是否有任何理由显式释放用户模式应用程序使用的所有内存? 最佳答案 每当一个进程结束时,映射到它的所有内存页都会返回到可用状态。正如您所说,这可以称为“回收内存”。但是,它不会执行诸如运行析构函数之类的操作(如果您使用的是C++)。我强烈建议释放所有内存,不是从资源的角度,而是从开发的角度。尝试释放内存会鼓励您考虑内存的使用生命周期,并帮助您确保正确清理。这在短期内无关紧要,

windows - 依赖进程创建的执行异常(ShellExecute vs CreateProcess)

我们正在运行一个Windows服务,它负责监视一组进程。该服务基本上只负责(a)检查定义的作业是否正在运行,以及(b)如果未运行则启Action业。服务是通过以下命令创建的(sc:https://technet.microsoft.com/en-us/library/bb490995.aspx):sccreate"MyService"binPath=C:\heyoo\myservice.exetype=ownstart=autoerror=normalscstart"SCFService"该服务负责创建的作业之一是“Camera.exe”。Camera.exe从连接的摄像头(FireW

c# - SetWindowsHookEx 将 32 位 DLL 注入(inject) 64 位进程,反之亦然

我一直在开发一个需要监控另一个进程上的线程特定鼠标事件(WH_MOUSE)的应用程序,遇到了一些非常奇怪的事情.在发现thisisnotpossibleviaexclusivelymanagedcode之后如果我不想使用WH_MOUSE_LL并且我需要一个nativeDLL导出以将其自身注入(inject)到目标进程中,我会根据我能找到的零散文档在C++中着手创建它在这个主题上,然后尝试使用它连接到记事本。虽然根据GetLastWin32Error注入(inject)成功,我没有收到鼠标事件的通知。在几乎放弃并选择低级全局Hook选项后,我重新阅读了thisarticle的“备注”部分

windows - 进程在故障转储中幸存下来

我们已将procdump设置为(AeDebug)事后调试器,以捕获未处理异常的转储。注册表项设置为"c:\my\sysinternals\procdump.exe"-accepteula-ma-j"c:\dumps"%ld%ld%p目前我正在查看一个转储,其中触发故障转储的进程仍在运行数小时转储过程完成后?!我假设任何触发故障转储的进程都将被终止?来自WinDbgDebugsessiontime:TueDec101:53:06.0002015(UTC+1:00)SystemUptime:18days18:09:24.556ProcessUptime:1days0:09:31.0000: