为什么用 vim 打开 go build 的二进制文件,我可以看到一些源存储库信息?

Why open the go build's binary file with vim, I can see some source repositories info?

在windows中,新go文件:test.go

package main

import (
    "fmt"
)

func main() {
    fmt.Println("Hello World!")
}

然后 运行 go build test.go 然后 vim test.exe.

搜索test.go,我可以看到很多目录信息。

为什么会发生这种情况以及如何隐藏信息?

Why it happens ?

golang 是一种编译语言——这意味着它使用编译器(从源代码生成机器代码的翻译器)。 test.exe文件是编译成machine code.

的源代码

How to hide the info?

二进制文件(编译后的程序)包含所有数据(源代码、.data 部分、字符串等),您无法从二进制文件中隐藏该信息,没有办法那,你所能做的就是 obfuscate 不知何故你的源代码。