Shu*_*ken 11 go source-code-protection
我想卖Go应用程序.我会为我的客户提供序列号.有没有办法让它破解应用程序有点复杂?
我说破解C应用程序很复杂,很容易破解Java应用程序.有没有工具可以让Go app破解工作和破解C app一样难?还是一些教程?至少我能做些什么来保护我的项目.我不问超重保护.
一旦你拥有二进制文件,混淆是非常困难的.人们之前尝试从Go二进制文件中剥离符号,但它通常会导致不稳定和不可预测的行为,因为某些反射操作需要符号.
虽然您不一定会混淆静态链接的库,但您可以通过在编译之前将变量,类型和函数名称更改为无意义的名称来模糊您自己的/代码.如果您想更进一步,可以尝试获取您正在使用的库的源代码(标准库的源代码可用并包含在大多数Go安装中),并将此混淆应用于库源代码也是如此.
至于后编译二进制修改,正如我之前提到的,最好远离它.
要添加joshlf13的答案:虽然不建议剥离Go二进制文件,但是有一个标志可以传递给链接器以便一直省略调试符号:
将'-s'标志传递给链接器以省略调试信息(例如,go build -ldflags"-s"prog.go).
这至少应该是一种更好的方法,因为我没有看到任何关于这一点的警告,比如关于在编译后剥离符号的警告.
| 归档时间: |
|
| 查看次数: |
4299 次 |
| 最近记录: |