go - 如何保护(混淆)Go 二进制文件不被破解

标签 go source-code-protection

我想出售 Go 应用程序。我将向我的客户提供序列号。有没有办法让破解app复杂一点?

我说破解C app很复杂,破解Java app很容易。有没有工具可以让 Go 应用破解工作和破解 C 应用一样难?或一些教程?至少我可以做一些事情来保护我的项目。我不问超重保护。

最佳答案

一旦你有了二进制文件本身,混淆是相当困难的。人们之前曾尝试从 Go 二进制文件中去除符号,但这通常会导致不稳定和不可预测的行为,因为某些反射操作需要符号。

虽然您不一定会混淆您静态链接的库,但您当然可以通过在编译之前将变量、类型和函数名称更改为无意义的名称来混淆您的/own/代码。如果您想更进一步,您可以尝试获取您正在使用的库的源代码(标准库的源代码可用并且包含在大多数 Go 安装中),并将此混淆应用于库源代码也是如此。

至于编译后的二进制修改,我之前说过,最好还是远离它。

关于go - 如何保护(混淆)Go 二进制文件不被破解,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20927250/

相关文章:

go - 发布后表格值为空

c++ - 这些编程语言的 headless 浏览器库

java - 构建一个只能执行的JAR文件?

Android - 需要一种无需源代码即可创建库(.aar 文件)的方法

php - 编译 PHP 以防止 "theft"?

javascript - 如何部署 Flask Web 应用程序但仍隐藏我的源代码?

go - ffmpeg:读取 header 管道时出错:0:参数无效

go - 无法为 golang 设置 gitlab ci

android-ndk - 是否可以使用带有 cgo 和/或 SWIG 或类似工具的 NDK 在 Go 中构建 Android 游戏?

java - 是否可以查看 API 类的源代码?