go-strip 更新了。
Go编译会自带一堆信息,通过这些信息基本可以还原Go的源码架构,甚至可以用作溯源。本工具可以直接从go编译好的二进制中还原代码结构或者消除这些信息。
支持Go编译的 Windows、Mac、Linux程序
支持AMD64,386架构
支持go全版本 1.13~1.18
go编译时会打包很多runtime的信息到编译后的程序中,这些信息包括
Function
Filename
Go Struct
Type
Go Compiler Version
Go BuildID
Go Root Path
Go ModInfo
Go Complie Paramter (go 1.18新加)
这些信息的暴露会很容易还原go源码结构,如果在本地编译还会暴露路径。
go-strip可以一键还原go源码的结构,能展示go编译器,go root,go mod依赖信息,go编译参数,go源码结构(每个package下的文件名,函数,函数行号和函数行总量)
当然也能一键混淆,在go编译完的二进制中使用go-strip再次进行处理,可以有效混淆这些信息。
在IDA7.6下查看混淆后的二进制
一键混淆支持到 go1.18,工具支持go全版本
一键解析go编译后程序的源码结构,包括go build、go mod等信息
公众号回复 go-strip 即可获得下载地址。
安全从业人员可能不会信任任何程序,唯一能让人稍微信任的就是开源代码。
go-strip v3的源码公开在知识星球 https://t.zsxq.com/04YVzFaiq 可以让人帮忙下载。