在 Ubuntu 上对 Golang 代码进行混淆,可以使用第三方工具 gosec 和 garble
sudo apt update
sudo apt install golang-go
gosec:go get -u github.com/securego/gosec/v2/cmd/gosec
sudo mv $(which gosec) /usr/local/bin/gosec
garble:go get -u github.com/xxjwxc/garble/v2
sudo mv $(which garble) /usr/local/bin/garble
garble 对 Golang 项目进行混淆:首先,进入你的 Golang 项目目录,然后运行以下命令:
garble build -o myapp
这将使用 garble 对你的项目进行混淆,并将混淆后的可执行文件命名为 myapp。你可以在项目目录中找到这个文件。
注意:garble 默认会对所有包进行混淆,但你可以通过在项目根目录下创建一个名为 garble.yaml 的配置文件来自定义混淆设置。例如:
packages:
- path: "github.com/yourusername/yourproject"
obfuscate: true
- path: "github.com/yourusername/yourproject/somepackage"
obfuscate: false
在这个例子中,只有 github.com/yourusername/yourproject 包会被混淆,而 github.com/yourusername/yourproject/somepackage 包不会被混淆。
更多关于 garble 的信息和配置选项,请查阅官方文档:https://github.com/xxjwxc/garble/blob/master/docs/GUIDE.md