草庐IT

【JavaEE】进程和线程

全部标签

windows - 如何检查进程是否被 Hook ?

他们是一种查看应用程序是否被Hook的方法吗?我希望能够查看应用程序是否被Hook,如果是,也许可以查看究竟是什么被Hook?我不确定这是否可能,但我想知道。我只是在寻找一个现有的应用程序来执行此操作以监视某些进程。 最佳答案 Hook函数有很多不同的方法。有些很容易检测,有些则更难。HookShark能够检测出相当多的常见hook方法。它无法检测到的是通过对象实例中的vtable替换Hook。入侵者将动态分配对象开头的vtable指针替换为指向他伪造的vtable的指针,其中要Hook的函数被重定向。外部程序无法检测到这一点,因为

python - 在 Windows 上优雅地终止子 Python 进程,以便 Finally 子句运行

在Windows机器上,我有许多父进程将启动子进程的场景。出于各种原因-父进程可能想要中止子进程但是(这很重要)允许它清理-即运行finally子句:try:res=bookResource()doStuff(res)finally:cleanupResource(res)(这些东西可能嵌入在更近的上下文中-通常围绕硬件锁定/数据库状态)问题是我找不到在Windows中向子进程发出信号的方法(就像在Linux环境中那样),因此它会在终止前运行清理。我认为这需要让子进程以某种方式引发异常(就像Ctrl-C那样)。我尝试过的事情:操作系统杀操作系统信号subprocess.Popen带有c

python - 如何将不同进程的任务栏图标与Windows 7结合起来

我想组合两个不同的进程任务栏图标,一个进程是mfc创建的,另一个进程是python创建的。根据thislink,我在两个不同的进程中设置了SetCurrentProcessExplicitAppUserModelID函数,传递了相同的参数GUIDstring,但是这两个进程的任务栏图标没有结合。请告诉我怎么做 最佳答案 以下链接对您有帮助吗?http://www.codeguru.com/cpp/frameworks/advancedui/article.php/c3227http://www.codeguru.com/forum/

java - 采用另一个进程的子窗口

我正在编写一种网络小程序模拟器。我看了一个网页,找到小程序参数,下载小程序运行。小程序在其自己的进程中运行(即不是模拟器进程)非常重要。但是,它应该在模拟器进程窗口中呈现。Java插件是如何做到的?当separate_jvm设置标志后,插件会在单独的JVM进程中加载​​小程序,但小程序仍会出现在同一浏览器面板中。我通过创建一个加载器类取得了一些进展,该加载器类在另一个JVM上将目标Applet添加到一个未修饰的、不可见的框架中,并将该框架的窗口句柄发送给模拟器​​JVM。后者将其绑定(bind)到Canvas带有user32.SetParent的实例通过JNA,显示效果很好。但是,只发

linux - 守护进程和服务差异

守护进程和服务有什么区别?(在Windows或Linux中)。 最佳答案 daemon是后台的非交互程序。它与任何交互式用户的键盘和显示器分离。表示后台程序的守护进程一词来自Unix文化;它不是通用的。服务是一种程序,它通过某种进程间通信机制(通常通过网络)响应来自其他程序的请求。服务是服务器提供的。例如,NFS端口映射服务作为单独的端口映射服务提供,它作为portmapd守护进程实现。服务不一定是守护进程,但通常是。具有GUI的用户应用程序可以在其中内置服务:例如,文件共享应用程序。更多详情:https://askubuntu.c

c++ - 我可以从不同的线程调用 socket send() 吗?

如果我有一个名为s的socket,我可以在不同的线程中执行此操作吗:线程1:send(s,"HellofromThread1");线程2:send(s,"HellofromThread2");是否保证这两个字符串会一个接一个地放入发送缓冲区(我不关心哪个先放),或者它们是否有可能混在一起?注意:也许这个问题的标题应该是:“Issocketsend()threadsafe”(但我不太确定线程安全是什么意思). 最佳答案 答案是否定的。一般来说,send()不保证数据是整block发送的。您始终需要检查send()返回的值,以了解实际发

c# - 另一个进程异常使用的文件

我有两个C#.NET应用程序:一个应用程序(比方说App1)将数据写入XML文件。第二个应用程序(我们称它为App2)从同一个应用程序读取数据XML文件并自行更新。App2持续监视XML文件中的更改,对此我使用FileSystemWatcher。App1完成文件写入后,App2立即读取更改。我确保我的App2仅通过读取访问权限读取XML,但有时我的App1仍会抛出异常:"Theprocesscannotaccessthefile'C:\xmlFile'becauseitisbeingusedbyanotherprocess".HereismycodesnippetinApp2which

c# - Windows如何获取已经运行的进程的进程组?

我有一个使用Process.Start(ProcessStartInfoinfo)启动新进程的WPF应用程序。如何获取进程的组进程ID,以便我可以使用GenerateConsoleCtrlEvent发送Ctrl+C信号?https://msdn.microsoft.com/en-us/library/windows/desktop/ms683155%28v=vs.85%29.aspx但是,我在创建的新进程中似乎找不到控制台窗口的组进程ID。它有当前Windows用户的sessionID和进程ID。编辑:我终于让我的程序运行了,但我仍然没有找到真正问题的真正答案。我能够通过使用Gener

c# - 跟踪所有进程的 Windows API 调用

我正在尝试编写一个应用程序,它将在所有正在运行的进程(以及在我的应用程序启动后创建的进程)上使用WindowsAPI的某些函数和DLL进行静态化).在互联网上搜索后,我发现了几个可能有用的工具-例如WinAPIOverride、EasyHook和ProcMon,它们使用不同类型的钩子(Hook)。不幸的是,对我来说,他们似乎无法完全满足我的需要:WinAPIOverride、EasyHook只能Hook应该选择的某些进程,以及ProcMon没有可用于跟踪我需要的API调用的接口(interface)。我还想知道这种Hook是否可以与Python代码交互,或者至少与C#环境交互。我想听听

我可以在特定地址创建一个堆栈的线程吗?

我正在做一些实验,想知道是否可以在我提供的特定地址创建一个线程堆栈,或者至少让线程堆栈只在我可以指定的某个(巨大的)虚拟内存区域中产生.我对此感兴趣的原因是我想在某个时候将整个堆栈复制到远程进程并且需要指针保持完整,并且线程堆栈不会发生冲突。这可能不是最好/最安全的方法,我知道,但这只是一个小小的爱好项目。如果您知道如何在Linux上执行此操作,我也对此很感兴趣。 最佳答案 只是编译评论所说的内容。Forwindows,theanswerisno对于Unix(posix),答案是pthread_attr_setstack.(另见上面