CodeMeterAct使用手册

Lars Møller avatar

WIBU

2020-10-09

1. 安装步骤

1.1 光盘安装

放入光盘自动启动图表1界面,选择中文安装界面,在图表2中看到CodeMeter SDK和CodeMeter User CD 2个选项。
SDK是由软件开发商所安装的内容,其中包括加密、授权写锁、API例子等各种工具和说明文档。 User是由最终用户安装的客户端驱动程序。在这里我们安装CodeMeter 软件安装包(SDK)(注:其中已经包含了User客户端),安装中可全部默认即可。

2. 功能导航

2.1 进入CodeMeter功能导航界面

安装完毕后会自动跳出图表1内容或者通过打开"开始"->"所有程序"-> "CodeMeter" -> "CodeMeter Start Center"

2.2 四个功能模块

AxProtector 为外壳自动加密工具,可以针对EXE或者DLL还有JAR等格式进行自动加密打包来保护用户的软件,操作简便,安全性强,无需程序开发经验同样能完成加密工作。
API Guide  包含里所有的CodeMeter API函数接口,可由开发商在其程序中进行调用。可通过该工具了解WIBU所有API的代码调用示例和执行效果,支持几乎所有开发语言版本。
License Editor  为简化版的加密锁写锁授权工具,可以写入授权许可到加密锁中。
Samples  其中包含各个开发语言的API例子,更进一步了解我们API函数实际是如何结合保护程序的。

2.3 注意事项

该注意事项只针对正式用户,测试用户请忽视。当正式购买FSB母锁后,我们会另外发送一个Cmfirm-xxxxxxxx.wbc文件,其中包含了FSB母锁上唯一的公司码信息(公司码一般会写在FSB的挂牌上),FSB母锁必须配合该文件一起才能对软件进行加密或者授权子锁,所以在使用母锁前必须把该Cmfirm-xxxxxxxx.wbc拖入到下图(图表2)中的CodeMeter控制中心许可这一栏(可通过"开始"->"所有程序"-> "CodeMeter" -> "CodeMeter Control Center"),提示导入成功后,重启系统即可开始加密或写锁操作。对于重新安装系统或者更换其他机器时请重新导入该文件。

2.2 四个功能模块

AxProtector 为外壳自动加密工具,可以针对EXE或者DLL还有JAR等格式进行自动加密打包来保护用户的软件,操作简便,安全性强,无需程序开发经验同样能完成加密工作。
API Guide  包含里所有的CodeMeter API函数接口,可由开发商在其程序中进行调用。可通过该工具了解WIBU所有API的代码调用示例和执行效果,支持几乎所有开发语言版本。
License Editor  为简化版的加密锁写锁授权工具,可以写入授权许可到加密锁中。
Samples  其中包含各个开发语言的API例子,更进一步了解我们API函数实际是如何结合保护程序的。

2.3 注意事项

该注意事项只针对正式用户,测试用户请忽视。当正式购买FSB母锁后,我们会另外发送一个Cmfirm-xxxxxxxx.wbc文件,其中包含了FSB母锁上唯一的公司码信息(公司码一般会写在FSB的挂牌上),FSB母锁必须配合该文件一起才能对软件进行加密或者授权子锁,所以在使用母锁前必须把该Cmfirm-xxxxxxxx.wbc拖入到下图(图表2)中的CodeMeter控制中心许可这一栏(可通过"开始"->"所有程序"-> "CodeMeter" -> "CodeMeter Control Center"),提示导入成功后,重启系统即可开始加密或写锁操作。对于重新安装系统或者更换其他机器时请重新导入该文件。

3. 如何加密你的软件

3.1 打开AxProtector自动加密工具

首先会让您选择您要加密的程序类型,分成以下几种:
   Windows Application or DLL 针对Windows 32或者64 bit的应用程序(如C++或者Delphi开发的EXE或者DLL)
   .Net assembly 针对.NET架构开发的exe或者DLL。
   Linux Application or share object 针对Linux的执行程序或so库文件
   Mac OSX Application or Dylib 针对Mac的应用程序或库文件
   Java application(jar-file) 针对Java的执行程序jar

3.2 选择要加密的文件

选择程序类型进入AxProtector后,作为演示我们先加密一个应用程序比如CodeMeter开发包安装后自带的API例子 (C:\Users\Public\Documents\WIBU-SYSTEMS\Software Protection\C++\Special\CmDemo\release \CmDemoGUI.exe)来测试下加密的效果,你同样也可以使用你自己的软件来作为测试。
进入第一步图表2,第一栏里选择想要加密的EXE或者DLL文件,这里我们选择例子里的执行程序CmDemoGUI.exe,而下面一栏则自动生成加密后exe的存放路径和文件名,一般在原文件同目录下一级的protected目录下,然后下一步Next。

3.3 选择您要绑定的许可类型

请在Licensing system里选择默认的CodeMeter(如图表3),其中Firm Code每个开发商正式购买以后都会分配到一个唯一固定号码,并且会有一把含有该唯一公司码的特殊授权的母锁FSB,而Product Code可由开发商自定义数值来定义不同的软件产品或者模块。而Feature Map为可定义不同的版本,默认为0。Firm Code和Product Code组成了一组许可信息,其实是用该信息通过算法加密了你的软件,而分发给最终客户的加密锁上也必须要有相应的许可才能解密使用该软件,也就是在加密锁上必须有相同的一组Firm Code和Product Code。这里我们公司码firm code请选择6000010,产品码Product Code假设为15,其他都默认然后下一步。
注意:在这里我们使用Firm Code为6000010(它是用来给用户测试的一个公司码,没有唯一性,请不要在正式发布产品时使用。如果你已经是正式用户并且购买了母锁FSB,并且导入了先前2.3注意事项中提到的Cmfirm-xxxxxxxx.wbc文件,请选择FSB挂牌上的那串公司码而不是6000010)。

3.4 运行时心跳时间设置

图表4这个步骤暂不做详细介绍,默认即可,继续按下一步。

3.5 加密强度设定

该步骤(图表5)是对加密强度进行设定,左边可选择几种加密增强模式,而右边可设定反侦测Debugger破解的防护级别,在这里默认选项加密强度也已经相当高,如果希望获得更强的保护可以联系我们技术人员来根据不同的情况改变相应选项。然后继续下一步。

3.6 自定义弹出错误框

该步骤可以根据用户要求自定义设定弹出错误信息框的内容(3.9章节就会介绍如何自定义错误信息内容),默认下一步。

3.7 高级选项设定

这里暂不介绍,请默认并点击下一步。

3.8 加密完成

最后点击Finish完成设定开始加密。注意:加密时必须插上母锁FSB或者测试母锁。
加密成功后,可到相应目录找到加密后的EXE或者DLL。加密后的文件通常会比原文件更大(一般增加1M左右尺寸)。
现在我们来测试一下加密后的效果吧,请启动加密后的CmDemoGUI.exe。 (如果用户测试自己的程序,请注意通常用户的程序不止一个EXE或者DLL,还包含其他的依赖库DLL,所以请把加密后的程序拷贝到原来的目录中覆盖并运行),然后看到以下出错信息(图表9),错误信息可自定义编辑,参照稍后章节3.9。
错误内容提示没有找到firm code 600010, product code 15这组许可(如果在前面加密软件时使用正式FSB唯一的公司码即会显示你的公司码而不是6000010),所以不能运行软件。我们取消该对话框后接着我们插入加密锁,再次打开该加密后的CmDemoGUI.exe,我们会发现仍然一样的出错信息,还是不能使用该软件,这个是因为加密锁上虽然插上了但是其中并没有对应于软件的firm code 6000010, product code 15这组许可,所以这把加密锁没有权限打开。为了打开并使用该软件,我们在下面开始章节介绍如何授权写加密锁,让加密锁拥有正确的许可信息。

3.9 编辑出错信息框的方法

进入到加密文件生成的目录下,可看到除了加密生成的EXE或者DLL文件以外,还有UserMsg.bmp和很多UserMsgXX.ini文件,这些ini是各个国家语言的错误信息,中文的就只需要保留UserMsgZh.ini,可用记事本打开并编辑ini文件,里面包含了所有的弹出框出错信息,修改其中内容后,弹出错误信息框中内容也会相应变更。

4.授权软许可

4.1 制作软许可绑定规则的空许可文件

首先开发商会发送绑定规则的空许可信息文件给最终的使用用户。该文件里包含着开发商需要绑定的许可信息和用户的硬件信息。
空许可信息文件的生成可以通过以下命令行:
"C:\Program Files (x86)\CodeMeter\DevKit\bin\cmboxpgm.exe" -f6000010 -lif:"MyFirstUfcLif.WibuCmLIF" -lfs:smart:3 -lpn:"Universal Firm Code - 2000" -lpid:2000 -lopt:vm,reimport -v
-f6000010代表公司码
-lif:"MyFirstUfcLif.WibuCmLIF代表生成的文件名称
-lpid:2000表示软许可的唯一ID值,一般不需要改变
-lpn:" Universal Firm Code - 2000"为该许可在最终用户的 CodeMeter 控制中心里显示的名字。
-los:win,lin 为绑定相应的操作系统,lin表示linux系统,Mac表示苹果系统。
-lfs:smart:3 为智能绑定,会对所有硬件信息自动分等级,判断用户是更换某些硬件还是更换了整机。
-lopt:vm,reimport vm为允许导入虚拟机中,reimport为允许重复导入许可。
执行结果如下图(图表10)所示:

4.2最终用户生成许可请求文件

1. 最终用户拿到许可请求文件,并且导入到CodeMeter控制中心。
导入方法1:
打开CodeMeter控制中心,文件->导入license->选择从开发商那里获得的许可信息文件
导入方法2:
可直接把许可信息文件拖入到CodeMeter控制中心中。
导入后空许可文件将以130开头的编号存在,如下图(图表11)所示:
2. 导入成功后最终用户需要生成许可请求文件,并且发送给软件开发商;
许可申请文件的生成方法:
最终用户选择空许可编号,点击“许可更新”按钮生成请求文件,如下图(图表12)所示:
点击“下一步”按钮,如下图(图表13)所示:
按照默认的信息,点击“下一步”按钮,如下图(图表14)所示:
选择路径,点击“下一步”按钮,如下图(图表15)所示:
最后把生成的许可请求文件发给软件开发商

4.3开发商生成许可升级文件

还记得前面介绍的导航界面吗,现在我们选择写锁工具License Editor.
打开License Editor后,可看到左边的一个树形可展开的目录(图表11),最上一级的序列号X-XXXXX是加密锁的唯一序列号也代表着加密锁,而展开的内容即代表加密锁中的许可内容,我们可以点开树形目录查看加密锁中的内容如下:
我们可以看下目录当中浅蓝色一列号码都代表着一个firm code,而其中就有着测试公司码6000010,而再往下展开我们可以看到橘红色号码13,则代表着product code。
         点击“文件(F)”,选择“打开环境文件”,如下图(图表18)所示:
选择最终用户发送过来的请求文件,加载进来,如下图(图表19)所示:
对加密锁编号点右键添加公司码,选择公司码6000010,公司码访问数按照默认“禁用”,点击“执行”按钮,如下图(图表20)所示:
右键公司码6000010,“添加项目”编辑添加产品码,点击“确定”按钮,如下图(图表21)所示:
添加产品码后,点击右下角的加号,弹出的“添加产品码选项”中可以添加“过期日期”、“许可数量”、“计数器”等等特性,点击“执行”按钮,如下图(图表22)所示:
产品码的选项功能介绍如下:
   使用期限: 可以设定一个天数,当第一次运行该加密软件,加密锁会自动开始计时,直到达到时间点后禁止软件运行。
   过期日期:类似于使用期限的功能,它可以设定某一个具体的时间点来限制该软件无法再继续使用。
   激活日期:可以设定加密软件必须在某年某月某日这个时间点才能开始运行。(到达该时间点时需要强制上网认证一下所有时间才能开始运行软件)
   许可数量:前面介绍过的网络锁的网络访问并发人数的设定。
   模块信息:用来对应于AxProtector中的Feature Map来进行版本控制。
   文本:通常可写入一些该产品码定义的描述信息。
   计数器:可以设定该加密软件被打开运行的次数。(也可以通过后台每隔一定的时间减少一次该数值,来计算软件的实际使用时间)
执行后除了原来的WibuCmRaC文件外还会生成2个文件WibuCmRaM和WibuCmRaU,如下图(图表23)所示:
只要把许可升级文件 WibuCmRaU 文件发给最终用户,双击该文件即可完成软授权激活 操作。
正式用户注意事项:此时如果发现授权错了或者不完全,也请不要再去打开WibuCmRaC文件重新授权,可以对WibuCmRaM文件进行重新授权,也会生成新的WibuCmRaU许可文件,把两个WibuCmRaU发给客户依次导入即可。
注:另外还有一个WibuCmRaM文件,开发商可以保留该文件,如果最终用户下次升级的时候,可以不用再生成WibuCmRaC文件发过来,只需要开发商直接用WibuCmRaM导入到License Editor里进行读写生成新的WibuCmRaM和WibuCmRaU,并把WibuCmRaU发给最终客户,依次循环每次必须保留最新的WibuCmRaM文件,这样最终用户就可以不用再发升级文件WibuCmRaC了。当然开发商也可以不保留WibuCmRaM,让用户每次升级都发送新的WibuCmRaC过来。

5. 如何在Linux上激活

5.1 在需要激活的Linux机器上安装客户端

网络的应用只需要在前面介绍的加密和授权的步骤中改动一下设置就可以激活网络功能。首先,在加密步骤这里,在Subsystem选择Network(如图表18),这样加密后的软件才会进行网络查找。License options里建议选择Station share模式,即把每台访问电脑只算作为一个网络并发点数。相关参数详细解释如下:
请先在最终需要运行的Linux系统上安装CodeMeter客户端程序(安装包可在光盘/CodeMeter-User/Linux目录下或者官网下载中心里找到)。客户端安装程序分32位,64位,RPM和DEB格式的安装包,请选择对应您的系统版本的安装包进行安装,安装命令行如下:
rpm 格式: [rpm -ivh CodeMeter-[CodeMeter-Version].[Package Number].i386.rpm]
deb 格式: [dpkg -i CodeMeter-[CodeMeter-Version].[Package Number]_i386.deb]

5.2 在Linux上导入许可信息文件

然后在Linux机器上导入许可信息文件(WibuCmLIF),如何生成该文件请参考章节4.1。
使用如下命令行在Linux中导入许可信息文件cmu -i -f MyTest.WibuCmLIF
图表17
导入成功后输出信息如图17。

5.3 在Linux上生成许可申请文件

在Windows上激活时候可使用图形界面来生成许可申请文件(WibucmRaC)如章节4.3;但是在Linux上一般没有图形界面,所以需要用如下命令行来生成:
cmu -c6000010 -s130-148774423 -f context.WibuCmRaC
参数描述:
   -c6000010这里请把6000010改成你的公司码
   -s130-148774423这里需要指定序列号,序列号如图17中会生成显示。(如果错过或忘记该号码,请使用cmu -l查看
   -f context.WibuCmRaC为输出路径及许可申请文件名

5.4 在Linux上激活许可

软件开发商端获取到从最终使用端生成的许可申请文件,使用授权命令行进行激活生成许可激活文件,该流程请参考章节4.4,是在Windows端完成。
最后在需要激活的Linux机器上获得了许可激活文件后,使用如下命令行来激活软许可:cmu -i -f context.WibuCmRaU
 激活成功后,输出信息如图18
图表18
现在在Linux上软许可已经激活,可以正常打开你在Windows上加密过的执行程序了。
免费试用
0