Golang编译生成的exe文件被误报为病毒怎么办
Golang编译生成的exe文件被误报为病毒怎么办 我编写了一个Go程序,用于通过LaTeX和操作系统内置工具创建PDF和ZIP文件(它需要在Linux和Windows上运行)。几天前,Windows Defender将我的exe文件归类为木马病毒。由于我会与朋友分享这个文件:我该如何确保我的程序不被标记为病毒?或者我的代码应该怎么写才能避免这种情况?
PDF和ZIP文件在一个导出文件夹中创建。程序执行以下步骤:
- 清空导出文件夹。
- 测试图像是否符合特定尺寸。
- 临时复制.tex文件。
- 启动LaTeX/Docker,使用.tex文件生成多个PDF。
- 创建一个ZIP文件。
- 删除临时副本。
- 删除一些由LaTeX创建的文件。
- 控制台中的文本以绿色或红色显示。
因此,我使用了诸如os.RemoveAll、os.Mkdir、exec.Command等命令。
我使用以下命令编译程序:
GOOS=windows GOARCH=amd64 go build -o start_myprogramm.exe -ldflags="-s -w" src/,y-programm.go;
我的导入部分如下所示:
import (
"archive/zip"
"bufio"
"fmt"
"image"
_ "image/jpeg"
"io"
"log"
"os"
"os/exec"
"path/filepath"
"regexp"
"strings"
"sync"
"time"
"github.com/fatih/color"
)
我阅读过类似的案例。其中提到可以对文件进行签名。这会是解决问题的办法吗?我该如何找出问题的确切所在?
更多关于Golang编译生成的exe文件被误报为病毒怎么办的实战教程也可以访问 https://www.itying.com/category-94-b0.html
我认为你最好的做法是联系 Windows Defender 支持团队。根据官方常见问题解答:
为什么我的病毒扫描软件认为我的 Go 发行版或编译的二进制文件被感染了?
这是一个常见的情况,尤其是在 Windows 机器上,并且几乎总是误报。商业病毒扫描程序常常被 Go 二进制文件的结构所迷惑,因为它们不像其他语言编译的文件那样常见。
如果你刚刚安装了 Go 发行版,而系统报告它被感染了,那肯定是个错误。为了彻底确认,你可以通过比较下载页面上的校验和来验证下载的文件。
无论如何,如果你认为报告有误,请向你的病毒扫描软件供应商报告一个错误。也许随着时间的推移,病毒扫描程序能够学会理解 Go 程序。
Go 常见问题解答没有提供关于这个问题的更多信息,因为我们对此一无所知。我们不知道为什么 Windows 病毒扫描程序倾向于对 Go 二进制文件产生误报。我们没有就此与微软进行过多沟通,因为我们看到的错误报告通常是关于第三方病毒扫描产品的,而不是关于微软本身的。话虽如此,这篇文章确实提到了 Windows Defender,所以情况可能已经发生了变化。
还有另一条:
在这里发帖是可以的,但 Go 项目不会对此采取任何行动。
再次强调——这只是重申了这是病毒扫描程序的问题,而不是 Go 的问题。我希望我能提供更多帮助,但在我作为 Gopher 的这些年里,实际上还没有遇到过这个问题。也许其他人可以提供更有用的信息。
更多关于Golang编译生成的exe文件被误报为病毒怎么办的实战系列教程也可以访问 https://www.itying.com/category-94-b0.html


