Windows可执行文件,用于运行反病毒扫描程序删除的Java应用程序

时间:2009-11-09 15:16:12

标签: java windows exe antivirus

我构建了一个通过USB记忆棒提供的Java应用程序。为了确保兼容性,我在棒上运送了一个合适的JVM。我创建了一个EXE,只需使用应用程序jar调用此JVM。

现在问题是:一些病毒扫描程序采取积极行动,只删除可执行文件!

我尝试了一个用“批处理文件到可执行文件”工具制作的exe文件和一个用C编写自己的文件(调用ShellExecute);诺顿SONAR会检测并消除这两个版本,但我可以想象其他病毒扫描程序可能会做出类似的反应。

我最初选择了Windows快捷方式,但这些似乎不支持相对路径。由于我不希望显示命令控制台,因此不接受批处理文件。

4 个答案:

答案 0 :(得分:2)

您可以尝试使用众多可配置的Java发射器中的一个 - 它们可能不太可能被AV拾取:

(完全披露:我在winrun4j上工作)

答案 1 :(得分:0)

在批处理文件中使用start/b java.exe ...。会有一个短暂的闪烁,但窗口很快就会消失。

对于删除文件的病毒扫描程序:使用具有硬件开关的操纵杆可以使其受写保护。这是为了您自己的安全:仅仅因为有病毒扫描程序并不意味着没有病毒。如果没有人可以写信,没有人可以搞砸它。

答案 2 :(得分:0)

如果您使用javaw.exe启动应用程序,则根本不应该有一个关联的控制台窗口,因此可能需要将您的bat文件转换为.exe。

您还可以考虑将您的应用分发为Webstart应用,其中关联的jnlp文件描述了JVM所需的最低版本。

答案 3 :(得分:0)

由于该程序不必经常更改:将其作为误报提交给AV供应商,然后它可能会很快被白名单。或者至少你可能会发现他们觉得这么令人反感的是什么。