直接二进制查看 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=
但查了下没发现去除的办法
1
lysShub OP |
2
v1 2025 年 9 月 17 日
翻 go 编译器源码,找到关于这块信息的部分去除,diy 一个编译器就行了。
|
3
Dreax 2025 年 9 月 17 日
https://github.com/burrowers/garble garble 可以去掉但是可能有副作用
|
4
liuidetmks 2025 年 9 月 17 日 via iPhone
同好奇,c 语言也有同样问题
|
5
realpg PRO 不用开源的 自己撸就完了
|
6
rekulas 2025 年 9 月 17 日
有个邪教方法 把三方包下载到本地自己改成随机名字 import 如何
|
7
conn457567 2025 年 9 月 17 日 via Android
这也算敏感信息?安全过度了吧。按这种标准大部分语言的编译打包工具全不用玩了,自己发明一种?
|
8
yolee599 2025 年 9 月 17 日 via Android
@liuidetmks #4 用了 10 年 c 语言,我也好奇你说的这个,c 语言哪里有 build info ?
|
9
seers 2025 年 9 月 17 日 via Android
如果是在字符串区就直接删了呗,应该不影响功能,注意对齐就行
|
10
CHTuring 2025 年 9 月 17 日 @conn457567 #7 「自主研发」的含金量
|
13
bv 2025 年 9 月 17 日 |
14
NessajCN 2025 年 9 月 17 日
你可以自己把库都 fork 下来改个包名 import
|
16
bv 2025 年 9 月 17 日
@owen800q buildinfo 留着是利大于弊,藏着掖着弄的好像有什么见不得人的地方一样(公开依赖项不利于宣称自主研发吗?
)。即便把 buildinfo 去掉,只需要简单的命令 strings ./xxx 就可以看到内部的依赖软件路径。 |
17
skiy 2025 年 9 月 17 日 via iPhone
加个壳行不?
|
18
qieqie 2025 年 9 月 17 日
strip --remove-section=.go.buildinfo ./bin
可以删一些 section ,但想让人看不出来是 go 写的基本没可能 |
19
ExplodingDragon 2025 年 9 月 17 日
直接用 upx 压缩,再剔除二进制文件的 upx 的字段,这样至少静态分析没法判断是 go 写的
|
21
bugfan 2025 年 9 月 17 日
编译时候,加参数把符号表去掉就行了
|
22
Sendya 2025 年 9 月 17 日
|
23
Sendya 2025 年 9 月 17 日
|
24
gullitintanni 2025 年 9 月 17 日
|
25
bigtear 2025 年 9 月 17 日
传统逆向对抗的加壳加反调试呗,VMP 之类的
|
26
CodeCodeStudy 2025 年 9 月 18 日
@ExplodingFKL #19 怎么剔除二进制文件的 upx 的字段
|