2011-03-08 109 views
0

是否有可能阻止用户(甚至管理员)杀死我的程序?
或者在遇害的情况下,它能够迅速恢复?保持我的进程活着 - 总是

UPDATE: 澄清:我在写一个监控程序,像家长控制,保持一个什么样的用户用PC做记录。你可以通过最近查看我的其他问题来猜测。
这样的程序的第一个需要是活着!

现在,有人帮忙吗?

+10

问你的病毒编写好友,他们有很多这样的技巧在他们的袖子里。 – sbi 2011-03-08 18:46:42

+2

你在写恶意软件吗? – pt2ph8 2011-03-08 18:46:43

+1

有可能让它很难被杀死。这是一个坏主意。 – Erik 2011-03-08 18:46:59

回答

5

首先,不要这样做。其次,仍然不这样做。第三,如果你的程序太酷了,它永远不应该停止运行,你总是可以提供安装运行你的程序的服务的能力,并在它死亡时重新启动它。但是想想很久很久,因为用户通常会对不会死的程序感到恼火。相反,使你的程序有用,没有人会希望它停止运行,并重新启动它,如果它死了。

编辑:好,所以给你更新的OP让我们试试这里的几个想法。

有两种基本情况需要考虑:如果最终用户在机器上拥有管理权限,那么在一般情况下几乎没有什么可以做的。无论您尝试什么,都可以被具有管理权限的人绕过。

那么如果用户没有管理权限会怎么样。然后用户不能终止root/administrator启动的任意进程。在这种情况下,您可以尝试将软件安装为守护程序样式/始终运行。在Windows上,您可以将其作为启动时自动启动的系统服务进行安装。对于Solaris,您可以使用SMF并将其设置为在终止时自动重启。在Linux上,你可以做一些像root-owned shell一样的工作,如果退出,它会永远循环重启程序。

+2

考虑一个保姆应用程序。父母希望它保持运行,以便Junior不下载色情片,但Junior希望杀死它以便下载色情片。除了家庭观念和育儿建议之外,并不是所有的精彩节目都会在他们应该的时候继续运行。例如 – 2011-03-08 19:30:46

+0

tnx和答案。顺便说一句,还有另一种情况。有很多带有窗户的家用电脑,每个人都使用预制的管理员用户。他们呢? – MBZ 2011-03-08 20:11:56

+1

@MBZ如果您试图限制的用户已经是管理员,则战斗已经失败:您无能为力。混淆可能会阻止他们中的一小部分,但其他人会高兴地禁用您的软件。显然,这可以通过让用户在非管理员帐户上登录来解决。 – 2011-03-08 20:23:05

1

不,这是不可能的。管理员总是知道如何切断电源。

好的,现在澄清在这里,我还会添加一些单词。

我已经看到一个家长控制工具的Windows使用多个相同的进程监控对方的实例,并会立即重新启动他们的复杂性,如果用户终止其中之一。工作得很好 - 除非有人会切换到控制台并且足够快地杀死它们。但是,使用任务管理器的速度远远不够。

当然,这种方法是有限的,特别是因为管理员可以很容易地删除自动启动条目(这可以避免,即通过使用某种隐藏的服务来产生进程)。尽管如此,除非你的目标是非常黑客的孩子,它是非常有效的。

但毕竟,人们可以重新安装完整的操作系统,从而避免您可能采取的一切预防措施。 所以最好的方法可能是隐藏你的工具,并希望它不会被发现。

0

你可能是疯了。总是有可能杀死或摧毁一个“天真”烦人的程序。尝试一些好东西。