草庐IT

进程注入

全部标签

windows - 在继续批处理脚本之前如何等待服务/进程启动?

我正在编写一个Windows批处理脚本来卸载一些软件。但是,我需要等待卸载程序完成后才能重新启动服务,然后才能继续下一次卸载。我可以让脚本等待卸载程序完成使用:-for/f"usebackq"%%Min('tasklist/nh/fi"imagenameeq%process_1%"')doifnot%%M==%ignore_result%goto1但我终其一生都无法弄清楚如何让脚本等待服务启动,然后再继续执行脚本并运行更多卸载。我愿意接受任何建议。 最佳答案 如何避免使用中间文件FOR/F"usebackqtokens=1,4"%%

windows - Windows 中每个进程/线程的最大互斥数

在Asp.net应用程序中,每个进程/线程的最大互斥数是否有限制?以防万一目标操作系统是:WindowsXPPro、server2003/2008和不久的将来的Windows7。通常网站部署在应用程序池中。 最佳答案 该限制与进程可以拥有的句柄数限制基本相同。这是一个相当大的数字:16,777,216。当然,实际限制要低得多,并且取决于您有多少可用的非分页池,这并没有那么大。如果您担心这个限制,那是您的程序出了问题。请记住,临界区通常会延迟任何内核对象的创建,这意味着如果争用很少,您可以拥有大量内核对象。

windows - 创建一个防弹工作进程(在 windows 上)

我编写了一个pdf查看器,它使用各种用C编写的库。此C代码可能很容易被利用。而且要检查的线路太多了。我将不得不假设此代码可能包含可利用的错误。关键是C代码非常简单。一端输入字节流,另一端输出位图(也是字节流)。受谷歌浏览器的启发,我正在考虑创建一个单独的进程来进行解码和页面渲染。理想情况下,这应该在一个绝对无权执行任何操作的进程中执行,除了读取它拥有的一个输入流,并在另一端输出到字节流(一些未压缩的位图)。我认为进程不应该做的是:任何磁盘访问打开套接字内存使用量有限与其他进程访问共享内存加载其他dll...还有什么吗?这可能吗?这在某处有描述吗? 最佳答案

java - 将类注入(inject) JVM 并与现有类交互

我想将我的Java类注入(inject)到Windows上现有的Java应用程序中。我找到一篇描述使用CreateRemoteThread的方法的文章-java-code-injection-via-winapis但尚不清楚注入(inject)的类是否可以“连接”现有类并调用它们。有人知道这是否可行吗?JNI中是否有可用于搜索和获取对已运行类的引用的函数? 最佳答案 我敢肯定还有其他复杂的方法可以做您想做的事(例如使用javainstrumentationapi)。然而,可能有更简单的方法。找到应用程序的主类将类反编译成java代码

c++ - 如何获取远程(即不在我的进程内)线程的堆栈跟踪?

假设我正在编写一个调试器。如何在Windows系统上构建堆栈跟踪?我不需要列举符号等等;只是堆栈上各种函数调用的地址。我已经有了具有VM_READ访问权限的线程句柄。 最佳答案 比利,DBGHELP.DLL是你的friend。各种usefulfunctions对于那些希望执行调试器之类的事件的人...您可以在其中找到像StackWalk64这样的好东西和其他允许您指定要操作的目标进程的程序。当然,您可能需要确保您的调试器进程本身已被授予SeDebugPrivilege。玩得开心! 关于c

windows - Explorer.exe CPU 使用率随非 Explorer 进程增加?

我有一个在Windows资源管理器中运行的程序。通常,如果没有其他程序在运行,它将使用2-3%的CPU(因此explorer.exe将在资源监视器中显示2-3%)。当我的程序未运行而另一个不会增加explorer.exeCPU使用率的程序正在运行时(例如FireFox),explorer.exeCPU使用率可以忽略不计。但是,当我的程序和另一个程序(如上所述)同时运行时,explorer.exe的CPU使用率将增加到8-10%。我注意到在Windows资源管理器中运行的其他程序也会发生同样的事情。有人知道为什么会这样吗?它是Windows固有的东西还是有其他程序可能导致这种情况?P.S

c++ - 使用 pthread_win32 增加进程优先级

环境:WinXP、VisualC++我正在使用pthread_win32库来在我的程序中实现线程,我想将我的进程(程序)优先级提高到HIGH_PRIORITY_CLASS。库中是否有允许这种操作的函数?否则,是否可以将SetPriorityClass函数与`pthread_win32一起使用,或者我必须使用win线程以确保某种兼容性? 最佳答案 你可以获得一个本地线程句柄来调用SetPriorityClass与pthread_getw32threadhandle_np. 关于c++-使用

c++ - 创建附加到控制台但具有重定向标准 IO 句柄的进程

我有一个命令行应用程序,它根据用户提供的脚本执行其他程序。一些执行的子进程是cmd.exe运行各种.cmd脚本。一些.cmd脚本使用titleWindowsshell命令设置控制台窗口标题。这就是问题所在。如果用户请求记录子进程的输出,我使用标准句柄的管道来获取子进程的输出。然而,这似乎使子进程无法附加到我的应用程序运行所在的控制台,因此title命令停止工作,停止更改控制台窗口标题。是否可以创建一个具有重定向标准句柄但仍附加到父进程控制台的进程,以便title命令起作用? 最佳答案 显然,要将子进程附加到父控制台,所需要做的就是不

xml注入漏洞

一、先认识XMLXML有两个先驱——SGML(标准通用标记语言)和HTML(超文本标记语言),这两个语言都是非常成功的标记语言。SGML多用于科技文献和政府办公文件中,SGML非常复杂,其复杂程度对于网络上的日常使用简直不可思议。HTML免费、简单,已经获得了广泛的支持,方便大众的使用。而XML(可扩展标记语言)它既具有SGML的强大功能和可扩展性,同时又具有HTML的简单性。XML注入攻击也称为XXE(XMLExternalEntityattack)漏洞,XML文件的解析依赖于libxml库,libxml2.9及以前的版本默认支持并开启了外部实体的引用,服务端解析用户提交的XML文件时未对X

c++ - Windows 中 code::blocks (C++) 中父/子进程的大多数准系统示例

1)我正在寻找一个非常简单的示例,分别包含两个函数(Parent、Child),它们将创建一个子进程,然后将子进程连接到父进程(父进程可以访问子进程中的变量).请让示例尽可能简单,因为我很确定Windows代码是有意设计得尽可能复杂和困惑的。2)或者,我也愿意考虑替代WINAPI调用来创建父/子进程(只要它与Windows兼容)。编译器是code::blocks,操作系统是Vista。如果可能的话,最好与其他操作系统兼容(我知道WINAPI不是,但这是我知道的唯一方法)。如果这些函数与unix函数(例如fork)有相似之处,那就太好了。3)对于一个更难的替代方案,我怎样才能以这样的方式