如何保护我的脚本不被复制和修改?

时间:2017-09-28 11:37:05

标签: security tcl expect

我为客户创建了期望脚本,我担心自己想要定制它而不返回给我,所以我尝试对它进行加密,但我没有找到适合它的方法 然后我尝试将其转换为可删除但有些命令被活动的tcl识别为" send"命令即使它在红帽上完美运作

那么有没有办法保护我的脚本能够阅读?

由于

2 个答案:

答案 0 :(得分:3)

通常只需将代码打包成用户无法直接查看的形式即可。即使是最小的速度碰撞也会阻止它们。

您可以使用sdx qwrap将您的脚本打包成starkit。这些对于随机用户戳戳有合理的抵抗力,同时仍然在技术上开放(毕竟sdx工具是免费提供的)。您可以将它创建的.kit文件转换为可执行文件,方法是将其与打包的运行时合并。

简而言之,它基本上就是这样(有一些复杂性掩盖了):

tclkit sdx.kit qwrap myapp.tcl
tclkit sdx.kit unwrap myapp.kit
# Copy additional assets into myapp.vfs if you need to
tclkit sdx.kit wrap myapp.exe -runtime C:\path\to\tclkit.exe

更多讨论是here,tclkit运行时是here,而sdx本身可以.kit - 包装形式here获得。请注意,用于运行sdx的运行时需要与打包时相同;您可以为除运行的平台之外的其他平台部署代码。这是打包阶段操作,而不是编译或链接。

对于更复杂的用户(即,不是Joe普通用户),您希望Tcl编译器不在ActiveState TclDevKit中。它正式代码模糊(它实际上并没有提高任何性能)并且TDK不再受到特别好的支持,但它是当前商业保护的主要解决方案Tcl代码。我是一个小团队,致力于真正的编译器,它将有效地提供更强大的保护,但尚未发布(现在还没有准备好)。

答案 1 :(得分:0)

一种方法是将服务器中运行的基本代码存储为后端。只需为用户提供前端应用程序即可完成请求。这种方式基本过程由您控制,用户无法访问该代码。