自 Go 1.13 版本起,Go 二进制文件默认包含元数据,这些元数据包含编译器、操作系统和时间戳等信息。虽然这些元数据对于逆向工程师等有用,但对于某些情况下保护软件安全和隐私则带来了一定的风险和不便。

如果您希望保护软件的相关信息和隐私,或者想减小二进制文件的大小,您可以删除二进制文件中的元数据。这里介绍一种简单的方法,可以轻松去除 Go 二进制文件中的元数据。

首先,您需要获取一个名为 “stripdebug” 的工具,该工具可以删除二进制文件中的元数据信息。您可以通过在终端中运行以下命令来获取该工具:

“`sh

$ go get -u github.com/twitchyliquid64/golang-elf-tools/cmd/stripdebug

“`

然后,在您的 Go 项目目录中,使用以下命令来编译您的软件:

“`sh

$ go build -ldflags=”-s -w” -o myapp main.go

“`

该命令将使用 “-s” 和 “-w” 标志来禁用符号表和编译器优化,并将元数据信息从生成的二进制文件中删除。

最后,使用 “stripdebug” 命令从二进制文件中删除剩余的元数据:

“`sh

$ stripdebug -strip-all myapp

“`

通过这种方法,您可以轻松地删除 Go 二进制文件中的元数据信息,并保护您的软件隐私和相关信息的安全。

详情参考

了解更多有趣的事情:https://blog.ds3783.com/