首页 > 解决方案 > 在linux中编译tcl文件

问题描述

我在 tcl 中编写了脚本并想保护它。有没有办法编译脚本,这样没人能看到里面的代码?

保护 tcl 脚本的常规方法是什么?

标签: compilationtcl

解决方案


有几种方法,具体取决于您想要的保护复杂程度:

  1. 对于最不成熟的用户,只需更改文件名的扩展名就足够了(例如,foobar.tcl更改为foobar.private)。
  2. 您可以将文件包装在某种存档中(例如,starkit或Tcl 8.7 原生支持的ZIP 存档);归档文件可以与合适的运行时组合以生成单文件可执行文件。
  3. 您可以使用Tcl Dev Kit的“编译器”(Tcler 的 wiki 页面有很多链接)来创建一个混淆的字节码文件。这需要一个小的扩展来加载,但混淆足以击败除了最复杂的攻击者之外的所有攻击者。这可以与前两种技术混合使用。
  4. 保护文件的终极方法是使用像tclquadcode这样的完整编译器(实验性的,但可能对您有好处)。此类程序的输出很难进行逆向工程;它看起来像来自另一个星球的机器代码!
  5. 如果这还不够,您还必须将代码作为Web 服务运行,并且只允许用户远程使用它;在这种情况下(理论上)窃取代码是不可能的,或者至少(实际上)非常困难。这本身就是一个很大的话题。

推荐阅读