当你使用WIBU软授权的程序时,是否遇到过这样一个情况?
你的机器需要升级或更换,但是原来授权厂商已经联系不上了,无法重新为新的机器更新软授权。
那么问题来了,能不能把原来的授权迁移到新的机器上呢?答案是肯定的,这正是本文所要解决的问题。
本文内容仅用于学习交流,严禁用作商业用途,造成任何法律问题本人概不承担。
本文内容仅用于学习交流,严禁用作商业用途,造成任何法律问题本人概不承担。
本文内容仅用于学习交流,严禁用作商业用途,造成任何法律问题本人概不承担。
本文内容仅适用于linux平台,以下工具均为linux平台的工具。
应坛友要求,本文使用的文件将隐去相关信息。
python3
asn1tools
PyQt5
CodeMeter Runtime 6.60
Wibu Reader
一份LIF文件、两份RAU文件(旧授权文件)
一台运行WIBU程序的机器
可以使用Wibu Reader
程序中的CodeMeterLin补丁功能,该功能会自动搜寻CodeMeterLin中的根证书并将其修改为root_new.der。成功将会在相同目录下产生CodeMeterLin.bak的备份文件,而CodeMeterLin为修改根证书后的程序。替换后的CodeMeterLin需要放入/usr/sbin中才能生效,并且要给予755的权限。
由于CodeMeterLin的根证书变了,LIF文件也要跟着改变。
使用python QWibuReader.py
来启动Wibu Reader
,并将LIF文件拖进去。
如果需要对授权信息修改的话,可以先修改再点击fix按钮修复LIF。
修复完后,点击保存按钮保存,本文以0_fix.WibuCmLif为例。
将_fix.WibuCmLif文件放入机器,并运行cmu -i -f 0_fix.WibuCmLif
来导入LIF文件。
该步骤是WIBU软授权必须的一步,此步骤用到的RAU文件暂称为RAU1。
首先,需要在机器上运行python wibu_cfg.py
来获取机器上的授权信息。该程序会自动扫描/var/lib/CodeMeter/CmAct
目录获取所有授权信息,并且在cfg目录下生成类似130-XXXXXX.cfg
文件。以下是一份cfg文件样例:
serialNmber
是唯一的授权识别号,每次导入LIF它都会改变。
PrivateKey
是wbc文件计算出来的CmAct证书所用的私钥,该证书是一份自签证书。
CmActId
是CmAct证书的唯一识别号。
Replace
字段用于自定义替换规则,可由用户进行填写。
接着,将RAU1文件拖入Wibu Reader
,点击设置-授权设置
,使用load按钮加载刚在的cfg文件,加载后将在编辑框显示,确认无误后点击ok按钮。
如果有其他需要修改的字段也可以在此时修改,修改后就可以点击fix-RAU按钮(中间有个RAU字样),同时修复成功后点击保存按钮保存即可。本文以1_fix.WibuCmRau为例。
将1_fix.WibuCmRau文件拷贝到机器中,运行cmu -i -f 1_fix.WibuCmRau
导入RAU文件。
该步骤是一般是WIBU软授权过程的最后一步,此步骤用到的RAU文件暂称为RAU2。
跟RAU1一般,将RAU2拖入Wibu Reader
并加载cfg,修复RAU后保存。本文以2_fix.WibuCmRau为例。
将2_fix.WibuCmRau文件拷贝到机器中,运行cmu -i -f 2_fix.WibuCmRau
导入RAU文件。
提示导入成功后,可以运行CodeMeterCC
来查看授权情况。
当状态显示为授权已激活时,说明授权已经可用。
更多详细信息可以点击WebAdmin
按钮,在浏览器中查看。注意看红框内容,可以查看授权过期信息。
问:怎么在整个过程没有看到RAC文件?
答:本文适用的情况为原软件授权商联系不上,而RAC文件就是用来发给软件授权商的,所以没有必要生成。
问:能修改那些字段?
答:所有字段都可修改,但是某些用于校验之类的字段最好不要动,目前还有很多字段是未知用途的。
问:必须要有旧的授权文件吗?
答:从原理上讲不是必须的,但在原来的授权文件上作修改会避免很多问题。当然,你也可以自己从0开始构造RAU文件。
问:只能在linux平台运行吗?
答:是的,本文研究的内容仅限于linux平台。
window平台的授权过程应该大同小异,但window平台的根证书和CmAct证书的私钥计算应该是不同的,这部分的研究可以留给其他更加有实力的人。
> cmu
-
i
-
f
0_fix
.Wibu
cmu
-
CodeMeter Universal Support Tool.
Version
6.60
of
2017
-
Dec
-
18
(Build
2869
)
for
Linux
Copyright (C)
2007
-
2017
by WIBU
-
SYSTEMS AG.
All
rights reserved.
The
file
contains
1
Update:
CmActLtLicense binding information: FirmCode
6000XXX
Execute Update ...
The
file
contains
1
Update:
CmActLtLicense update: Serial number
130
-
2600192248
, FirmCode
6000XXX
.
-
-
> successful
1
successful update done
> cmu
-
i
-
f
0_fix
.Wibu
cmu
-
CodeMeter Universal Support Tool.
Version
6.60
of
2017
-
Dec
-
18
(Build
2869
)
for
Linux
Copyright (C)
2007
-
2017
by WIBU
-
SYSTEMS AG.
All
rights reserved.
The
file
contains
1
Update:
CmActLtLicense binding information: FirmCode
6000XXX
Execute Update ...
The
file
contains
1
Update:
CmActLtLicense update: Serial number
130
-
2600192248
, FirmCode
6000XXX
.
-
-
> successful
1
successful update done
[General]
FirmCode
=
6000xxx
SerialNumber
=
82
00
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
PrivateKey
=
0xAABBCCDDEEFFAABBCCDDEEFFAABBCCDDEEFF
CmActId
=
AB CD EF
01
23
45
67
;[Replace]
;Number
=
1
;[Replace_0]
;AsnType
=
Content
-
PI
-
P
;Path
=
product
-
item,pi
-
expirationtime,time
;
Type
=
bytes;bytes,
int
,
str
,
bool
;Value
=
0058000000
[General]
FirmCode
=
6000xxx
SerialNumber
=
82
00
xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx
PrivateKey
=
0xAABBCCDDEEFFAABBCCDDEEFFAABBCCDDEEFF
CmActId
=
AB CD EF
01
23
45
67
;[Replace]
;Number
=
1
;[Replace_0]
;AsnType
=
Content
-
PI
-
P
;Path
=
product
-
item,pi
-
expirationtime,time
;
Type
=
bytes;bytes,
int
,
str
,
bool
;Value
=
0058000000
[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课