wibu软授权

admin 2023年3月12日21:45:02评论66 views字数 4445阅读14分49秒阅读模式

wibu软授权

本文为看雪论坛优秀文章

看雪论坛作者ID:bluefish蓝鱼


当你使用WIBU软授权的程序时,是否遇到过这样一个情况?

你的机器需要升级或更换,但是原来授权厂商已经联系不上了,无法重新为新的机器更新软授权。

那么问题来了,能不能把原来的授权迁移到新的机器上呢?答案是肯定的,这正是本文所要解决的问题。


观前提醒


本文内容仅用于学习交流,严禁用作商业用途,造成任何法律问题本人概不承担。


准备和工具


本文内容仅适用于linux平台,以下工具均为linux平台的工具。

应坛友要求,本文使用的文件将隐去相关信息。

  • python3
  • asn1tools
  • PyQt5
  • CodeMeter Runtime 6.60
  • Wibu Reader
  • 一份LIF文件、两份RAU文件(旧授权文件)
  • 一台运行WIBU程序的机器


第一步:替换CodeMeterLin中的根证书


可以使用Wibu Reader程序中的CodeMeterLin补丁功能,该功能会自动搜寻CodeMeterLin中的根证书并将其修改为root_new.der。成功将会在相同目录下产生CodeMeterLin.bak的备份文件,而CodeMeterLin为修改根证书后的程序。替换后的CodeMeterLin需要放入/usr/sbin中才能生效,并且要给予755的权限。
wibu软授权


第二步:导入LIF文件


由于CodeMeterLin的根证书变了,LIF文件也要跟着改变。
使用python QWibuReader.py来启动Wibu Reader,并将LIF文件拖进去。

如果需要对授权信息修改的话,可以先修改再点击fix按钮修复LIF。
修复完后,点击保存按钮保存,本文以0_fix.WibuCmLif为例。
wibu软授权
将_fix.WibuCmLif文件放入机器,并运行cmu -i -f 0_fix.WibuCmLif来导入LIF文件。
> cmu -i -f 0_fix.Wibucmu - CodeMeter Universal Support Tool.Version 6.60 of 2017-Dec-18 (Build 2869) for LinuxCopyright (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.   --> successful1 successful update done

第三步:生成安全容器

该步骤是WIBU软授权必须的一步,此步骤用到的RAU文件暂称为RAU1。

首先,需要在机器上运行python wibu_cfg.py来获取机器上的授权信息。该程序会自动扫描/var/lib/CodeMeter/CmAct目录获取所有授权信息,并且在cfg目录下生成类似130-XXXXXX.cfg文件。以下是一份cfg文件样例:
[General]FirmCode=6000xxxSerialNumber=82 00 xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xx xxPrivateKey=0xAABBCCDDEEFFAABBCCDDEEFFAABBCCDDEEFFCmActId=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
serialNmber是唯一的授权识别号,每次导入LIF它都会改变。

PrivateKey是wbc文件计算出来的CmAct证书所用的私钥,该证书是一份自签证书。

CmActId是CmAct证书的唯一识别号。

Replace字段用于自定义替换规则,可由用户进行填写。


接着,将RAU1文件拖入Wibu Reader,点击设置-授权设置,使用load按钮加载刚在的cfg文件,加载后将在编辑框显示,确认无误后点击ok按钮。

如果有其他需要修改的字段也可以在此时修改,修改后就可以点击fix-RAU按钮(中间有个RAU字样),同时修复成功后点击保存按钮保存即可。本文以1_fix.WibuCmRau为例。
wibu软授权
将1_fix.WibuCmRau文件拷贝到机器中,运行cmu -i -f 1_fix.WibuCmRau导入RAU文件。
> cmu -i -f 1_fix.WibuCmRaUcmu - CodeMeter Universal Support Tool.Version 6.60 of 2017-Dec-18 (Build 2869) for LinuxCopyright (C) 2007-2017 by WIBU-SYSTEMS AG. All rights reserved. The file contains 3 Updates:  CmActLtLicense binding information: FirmCode 6000xxx  CmDongle update for 130-2600192248 (FirmCode 6000xxx).  CmDongle update for 130-2600192248 (FirmCode 6000xxx). Execute Update ...The file contains 3 Updates:  CmActLtLicense update: Serial number 130-2600192248, FirmCode 6000xxx.   --> successful1 successful update done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful2 successful updates done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful3 successful updates done

第四步:导入授权

该步骤是一般是WIBU软授权过程的最后一步,此步骤用到的RAU文件暂称为RAU2。

跟RAU1一般,将RAU2拖入Wibu Reader并加载cfg,修复RAU后保存。本文以2_fix.WibuCmRau为例。

将2_fix.WibuCmRau文件拷贝到机器中,运行cmu -i -f 2_fix.WibuCmRau导入RAU文件。
cmu -i -f 2_fix.WibuCmRaUcmu - CodeMeter Universal Support Tool.Version 6.60 of 2017-Dec-18 (Build 2869) for LinuxCopyright (C) 2007-2017 by WIBU-SYSTEMS AG. All rights reserved. The file contains 6 Updates:  CmActLtLicense binding information: FirmCode 6000xxx  CmDongle update for 130-2600192248 (FirmCode 6000xxx).  CmDongle update for 130-2600192248 (FirmCode 6000xxx).  CmDongle update for 130-2600192248 (FirmCode 6000xxx).  CmDongle update for 130-2600192248 (FirmCode 6000xxx).  CmDongle update for 130-2600192248 (FirmCode 6000xxx). Execute Update ...The file contains 6 Updates:  CmActLtLicense update: Serial number 130-2600192248, FirmCode 6000xxx.   --> successful1 successful update done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful2 successful updates done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful3 successful updates done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful4 successful updates done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful5 successful updates done  CmDongle update for 130-2600192248 (FirmCode 6000xxx).   --> successful6 successful updates done

提示导入成功后,可以运行CodeMeterCC来查看授权情况。
wibu软授权
当状态显示为授权已激活时,说明授权已经可用。

更多详细信息可以点击WebAdmin按钮,在浏览器中查看。注意看红框内容,可以查看授权过期信息。
wibu软授权


答疑


1、问:怎么在整个过程没有看到RAC文件?

答:本文适用的情况为原软件授权商联系不上,而RAC文件就是用来发给软件授权商的,所以没有必要生成。


2、问:能修改那些字段?

答:所有字段都可修改,但是某些用于校验之类的字段最好不要动,目前还有很多字段是未知用途的。


3、问:必须要有旧的授权文件吗?

答:从原理上讲不是必须的,但在原来的授权文件上作修改会避免很多问题。当然,你也可以自己从0开始构造RAU文件。


4、问:只能在linux平台运行吗?

答:是的,本文研究的内容仅限于linux平台。

window平台的授权过程应该大同小异,但window平台的根证书和CmAct证书的私钥计算应该是不同的,这部分的研究可以留给其他更加有实力的人。




wibu软授权


看雪ID:bluefish蓝鱼

https://bbs.kanxue.com/user-home-674195.htm

*本文由看雪论坛 bluefish蓝鱼 原创,转载请注明来自看雪社区

wibu软授权

# 往期推荐

1.CVE-2022-21882提权漏洞学习笔记

2.wibu证书 - 初探

3.win10 1909逆向之APIC中断和实验

4.EMET下EAF机制分析以及模拟实现

5.sql注入学习分享

6.V8 Array.prototype.concat函数出现过的issues和他们的POC们


wibu软授权


wibu软授权

球分享

wibu软授权

球点赞

wibu软授权

球在看


wibu软授权

点击“阅读原文”,了解更多!

原文始发于微信公众号(看雪学苑):wibu软授权

  • 左青龙
  • 微信扫一扫
  • weinxin
  • 右白虎
  • 微信扫一扫
  • weinxin
admin
  • 本文由 发表于 2023年3月12日21:45:02
  • 转载请保留本文链接(CN-SEC中文网:感谢原作者辛苦付出):
                   wibu软授权https://cn-sec.com/archives/1598170.html

发表评论

匿名网友 填写信息