【问题标题】:Un-killable java program无法杀死的java程序
【发布时间】:2010-12-10 19:47:26
【问题描述】:

我用java开发了一个应用程序。 我需要我的 java 程序不会终止任何进程资源管理器/任务管理器。

【问题讨论】:

  • 为什么要实现这个目标?
  • 能够做到这一点将是一个月球大小的安全漏洞。从本质上讲,您可以轻松破坏计算机。
  • Avast 进程正在做我所期望的那么为什么它不是由 java 程序实现的
  • Avast 是否终止了您正在尝试开发的某些程序?您可以暂时禁用 Avast,但您的程序可能会发现 Avast 发现高度可疑/可能具有破坏性的某些操作。
  • JVM 必须以(至少)root 权限启动,这在大多数共享服务器中是不允许的。我也不希望在我自己的机器上运行无法杀死的 JVM。

标签: java process operating-system


【解决方案1】:

即使这是可能的,你也不应该想要(更不用说“需要”)这样做

它唯一能做到的就是惹恼用户,并可能造成法律上的麻烦。没有正当理由这样做,所以不要这样做。

【讨论】:

    【解决方案2】:

    这在 VC++ 和其他语言中是可能的,因为您可以直接挂接到操作系统本身。 Java 程序总是通过 JVM 作为中间层,如果你能够通过 JVM 将它深深地挂钩到某人的机器中,正如人们所说,这将是一个巨大的安全漏洞:

    短版:如果您绝对必须这样做,请使用编译本机二进制文件且在您和 OS API 之间没有虚拟机的语言。

    【讨论】:

      【解决方案3】:

      正如其他人所说,这是不可能的。 Raymond Chen of Microsoft 已经很好地解释了原因。

      【讨论】:

        【解决方案4】:

        你可以看看 rmid。我认为您可以让它在出现故障时自动重新启动您的服务。据我记得,这是在 Jini 中经常使用的。

        (所以这会给你一个外部看门狗,仅基于 Java 工具。当然,问题是当 rmid 本身死掉时你会做什么。我想用 cron 做一些聪明的事情。但是如果 cron 死了怎么办?以此类推。)

        【讨论】:

          【解决方案5】:

          这是不可能的。

          您能够实现的最接近的方法是向您的 Java 程序添加一个关闭挂钩,该挂钩将无限期地阻塞;例如Runtime.getRuntime().addShutdownHook(Thread).

          这将产生在 Posix 下正常的终止信号无效的影响。从 Windows 任务管理器中尝试“结束进程”将失败,Windows 最终会提示该进程无响应并且您要终止它 - 此时无法阻止终止。

          【讨论】:

          • 嗨 Adamski,我正在网上搜索。他们通过 VC++ 或 RootKit 或添加 DENY 句柄来做到这一点。但我不知道如何将它用于我的 java 程序。如果您知道三个中的任何一个,请回复我。感谢和问候玛雅 Alagar
          【解决方案6】:

          我相信这是不可能的。

          操作系统应该始终能够管理应用程序,这可能涉及终止它们。

          【讨论】:

            【解决方案7】:

            不可能...

            也许有办法从任务管理器甚至其他专有的 Windows 进程浏览器中隐藏它,但这需要访问本机 win32 API。

            也许你可以使用 JNI(Java Native Interface) 来实现这一点,但我仍然持怀疑态度。

            &加上JVM本身是一个当然可以被杀死的进程。

            【讨论】:

            • 嗨 Asad Khan,我正在网上搜索。他们通过 VC++ 或 RootKit 或添加 DENY 句柄来做到这一点。但我不知道如何将它用于我的 java 程序。如果您知道三个中的任何一个,请回复我。感谢和问候玛雅 Alagar
            • 所以 - 您正在寻求有关如何构建 rootkit 的建议......并且您真的希望得到答案?
            猜你喜欢
            • 2011-02-07
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2013-08-05
            • 2015-06-08
            • 2015-06-01
            • 2016-07-13
            • 2015-01-06
            相关资源
            最近更新 更多