在Hypermesh二次开发完成后,需要发布含tcl文件的工具包程序。为了保护自己的源码不被查看可以对tcl/tk进行加密。这需要用到TclPro工具中的procomp模块,procomp.exe 可以将tcl脚本转化为编译文件tbc文件。
TclPro安装步骤
关注下方微信公众号,从文章《hypermesh二次开发的tcl tk源文件的基本步骤》中获取TclPro下载地址和注册码!

- 双击下载的tclpro141.exe,弹出如下安装界面。
- 点击Next,出现如下界面。
- 点击Next,出现如下界面。
- 点击 I Accept,出现如下界面。
5.设置安装目录,点击Next,进行安装。
- 安装完成,出现询问是否现在进行License验证,选择Yes,点击Next。
- 填写License Key,Name of User,点击Apply完成License验证。
- 点击Finish完成安装。
tcl/tk程序加密步骤
安装完成后,加密tcl/tk的基本步骤如下:
- 在TclPro的安装路径下找到procomp.exe文件
- 准备好tcl源文件,例如如下测试文件
- 加密方法:打开window的cmd命令窗口,将procomp.exe文件拖入cmd窗口,在其后加上
-out "加密后的tbc文件 源码tcl文件
,例如:
加密命令为:
procomp.exe绝对路径 加密选项 (可选) -out 加密后的tbc文件路径 需加密的tcl文件路径 >
- 加密完成的test.tbc文件如下:
- 验证加密文件test.tbc是否可以在hypermesh中正常运行,示例如下:
加密选项
加密后的文件里有一行被注视掉了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
