首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Antivirus...有可能吗?多么?

Java Antivirus...有可能吗?多么?
EN

Stack Overflow用户
提问于 2010-02-24 05:00:53
回答 7查看 8.1K关注 0票数 9

有没有可能用Java编写一个反病毒程序,比如它可以拦截正在执行的程序?我可以在Java中对操作系统进行如此深入的控制吗?

更新: c#呢?同样的限制也适用,还是更好的方式?

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-02-24 05:05:18

对操作系统有这样的影响是可能的。唯一的问题是,你将失去平台独立性,或者至少必须为每个给定的平台编写代码,因为这样的操作需要对系统进行相当深入的访问,这可以通过JNI实现,这将把你使用它的方法绑定到操作系统上。

票数 12
EN

Stack Overflow用户

发布于 2010-02-24 05:20:42

我认为Java不可能实现这种控制,主要是因为它使用VM并且与操作系统隔离。或者更确切地说,操作系统不受Java VM的影响。这是设计好的。

为清楚起见,编辑后添加:我假设您想要用Java编写整个解决方案,而不是混合语言。

票数 5
EN

Stack Overflow用户

发布于 2010-02-24 05:56:27

我不相信它能与JNI一起工作。

在操作系统启动新进程(或写入文件等)时进行“拦截”的情况下,您需要编写某种类型的驱动程序或内核模块,这些驱动程序或内核模块与操作系统挂钩。该驱动程序/模块肯定是用本机编译代码编写的。因此,操作系统在这里负责,并最终调用您的本机模块。

所以,在我看来,这里甚至没有涉及Java。

无论如何,这是基本的方法。在Linux中使用像pam这样的东西是可能的,它可以被配置为几乎做任何与安全和文件/进程权限相关的事情,并且可以调用其他进程来执行它的命令。但是,为操作系统尝试启动的每个新进程运行一个JVM实例似乎有些牵强。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2321668

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档