go build 时如何才能不携带 BuildInfo 信息?

3 天前
 lysShub

直接二进制查看 go 编译的二进制文件,会发现带有 import 包信息,挺敏感的

dep	github.com/cespare/xxhash/v2	v2.3.0	h1:UL815xU9SqsFlibzuggzjXhog7bL6oX9BbNZnL2UFvs=
dep	github.com/google/uuid	v1.6.0	h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0=
dep	google.golang.org/grpc	v1.70.0	h1:pWFv03aZoHzlRKHWicjsZytKAiYCtNS0dHbXnIdq7jQ=
dep	google.golang.org/protobuf	v1.36.2	h1:R8FeyR1/eLmkutZOM5CWghmo5itiG9z0ktFlTVLuTmU=
dep	github.com/golang-jwt/jwt/v5	v5.2.1	h1:OuVbFODueb089Lh128TAcimifWaLhJwVflnrgM17wHk=

但查了下没发现去除的办法

2567 次点击
所在节点    Go 编程语言
26 条回复
bugfan
2 天前
编译时候,加参数把符号表去掉就行了
Sendya
2 天前
是不是加 `-ldflags="-w -s -extldflags=-static"` 可以去除? 我还真没直接看过二进制里的这些信息
Sendya
2 天前
#22 无效,还是有的
gullitintanni
2 天前
@yolee599 #8 比如 gcc 会在 .comment 段记录版本号,而且这个信息默认不会被 strip 掉( strip --strip-unneeded )

@bv #16 有的时候还是挺有用的,比如某些国内 VPS 厂商会用脚本自动化扫描机器上的二进制文件,利用这些信息能初步检测你有没有在搞不合规的事(比如搭梯子中转)
bigtear
2 天前
传统逆向对抗的加壳加反调试呗,VMP 之类的
CodeCodeStudy
2 天前
@ExplodingFKL #19 怎么剔除二进制文件的 upx 的字段

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1159780

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX