gpt4 book ai didi

java - 合法程序的反病毒检测

转载 作者:IT老高 更新时间:2023-10-28 20:41:47 26 4
gpt4 key购买 nike

基本上,我的程序与另一个 jar 文件一起运行。下面是下载功能的代码:

public void saveUrl(final String filename, final String urlString) throws MalformedURLException, IOException {
BufferedInputStream in = null;
FileOutputStream fout = null;
try {
in = new BufferedInputStream(new URL(urlString).openStream());
fout = new FileOutputStream(filename);

final byte data[] = new byte[1024];
int count;
while ((count = in.read(data, 0, 1024)) != -1) {
fout.write(data, 0, count);
}

} catch (Exception e) {
return;
} finally {
if (in != null) {
in.close();
}
if (fout != null) {
fout.close();
}
}
}

然后开始新进程

public void runUpdate() throws IOException{
String folder = fileLocation;
ProcessBuilder p = new ProcessBuilder();
p.command(folder);
p.start();
}

但是,即使有用户提示并且必须批准下载,当我在 eclipse 环境之外对其进行测试时,我的防病毒软件也会立即将其拾取。

它被检测为“trojan.downloader”。我在想它与下载功能有关吗?我并不是真的想打败一个反病毒程序。我没有试图做任何非法的事情。

也许一些混淆可以解决问题?

最佳答案

您的编译器生成的字节码与 AV 正在寻找的某些特定代码模式/签名相匹配,这意味着他们过去发现/逆转的某些恶意软件具有与此类似的代码,他们可以可靠地找到。

最好的选择是识别并重写触发检测的任何方法,直到它不再匹配 AV 正在寻找的任何东西,混淆不是一个好主意(但可以这样做,如果混淆器确实控制流混淆) 来解决这个问题,因为不能保证它会产生与原始字节码足够不同的字节码(一些混淆器,比如 ProGuard,甚至不做控制流混淆)。

关于java - 合法程序的反病毒检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30954296/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com