小智 5
您可以做 3 件事来保护您的代码。
当然,您可以在构建之前混淆所有代码。我不知道任何特定的 golang 工具可以做到这一点。
剥离符号但我担心会反编译并试图窃取我的工作的“天才黑客”。它已经发生了几次。因此,您想要一些能够击败“黑客”的东西,因为尝试和重新组装的工作量太大。
剥离符号应该绰绰有余。
您可以省略将“-w”标志传递给链接器的调试信息,并且可以通过传递“-s”省略符号表。
在此处查看 1.5 中的 go 工具链接: https ://golang.org/cmd/link/
- 设备指纹 这可确保您的软件无法运行,除非它在为其生成许可证时位于同一台机器上。
许可证存储在您的服务器上,并发送和检查指纹元数据。
你可以在这里看到这个:
请注意,在他们的代码中,他们不会针对指纹生成许可证。这是你想要做的额外的事情。您还可以对其进行哈希处理并对其进行签名以及其他花哨的东西,但是对于这篇文章来说,细节太多了。
当然,如果“黑客”可以反编译您的代码,他们可以绕过这个问题,但正如我在第 2 步中提到的,通过剥离符号可以很好地解决这个问题。
混淆,如第 2 步中的帮助,但大多数体面的编码人员可以找到代码进行检查的地方,只需注释掉检查并重新编译。
但是没有符号几乎不可能重新编译。
希望有帮助...