在Hypermesh二次开发完成后,需要发布含tcl文件的工具包程序。为了保护自己的源码不被查看可以对tcl/tk进行加密。这需要用到TclPro工具中的procomp模块,procomp.exe 可以将tcl脚本转化为编译文件tbc文件。
TclPro安装步骤
TclPro下载地址和TclPro的注册码,请扫描下方二维码关注微信公众号,查看文章《加密hypermesh二次开发的tcl tk源文件的基本步骤》。
- 双击下载的tclpro141.exe,弹出如下安装界面。
- 点击Next,出现如下界面。
- 点击Next,出现如下界面。
- 点击 I Accept,出现如下界面。
5.设置安装目录,点击Next,进行安装。
- 安装完成,出现询问是否现在进行License验证,选择Yes,点击Next。
- 填写License Key,Name of User,点击Apply完成License验证。
- 点击Finish完成安装。
tcl/tk程序加密步骤
安装完成后,加密tcl/tk的基本步骤详见微信公众号(CAE软件二次开发Lab)文章《加密hypermesh二次开发的tcl tk源文件的基本步骤》。
加密选项
加密后的文件里有一行被注视掉了TclPro::Compiler::Include。
实际上,加密后的文件里,这一行之前的内容是通过加密程序procomp.exe的-prefix选项而自动添加进去的。
-prefix有三个可选值:
- none:不添加任何内容
- auto:添加源文件中从开始到第一个非注释行或空白行为止的内容。(默认值)
- tag:添加源文件中文件开始到含有字符串"TclPro::Compiler::Include"的注释行为止的内容。
注意事项
由于tclpro最新只只支持到Tcl 8.3,所以可能由于某些语法导致tclPro加密时崩溃。例如:比较时采用eq运算符就会导致加密崩溃,需要将tcl源码中关于比较的语句改为==。
关于解密tbc
TBC文件格式是Tcl字节码的编码。
为了执行加密后的文件,需要加载tbcload模块。你可以在你的tcl编译器中输入package require tbcload
查看是否具备解密的tbcload模块。在HyperMesh中已经预加载了该模块所以可以直接运行tbc文件。在HyperMesh中加载tbcload模块示例如下:
扫描下方二维码关注我的微信公众号 - CAE软件二次开发Lab