跳转至

Java软许可签发到加密快速入门手册#

本文档主要说明Java开发语言,如何分发软许可、以及加密的流程,下图为软件从许可分发、加密到交付最终用户的流程

一、注册转正及安装开发者工具盒#

1.1 注册账号#

本步骤演示开发者中心注册的流程,如已注册,请跳转至1.2步

注册链接:https://developer.lm.virbox.com/reg.html 填写相应信息完成注册,下图为注册页面。

图片

1.2 转为正式开发商#

如已在开发者中心转为正式开发者,请跳转至1.3步

登录上一步注册的开发者账号(使用手机号登录),可以看见当前状态为测试状态,与下图状态一致

图片

由于 测试版 SDK 仅可作为学习和评估使用,不可用于正式版软件的保护和分发。如果您希望应用于正式版的软件上,您可以在平台上点击 “申请” 成为正式开发者,软许可的测试和使用也需要开发者状态为正式开发者。

以下是转为正式开发者的流程。

① 首先到“账号设置”中绑定邮箱

图片

② 点击“绑定”

图片

③ 输入当前登录密码,以及待绑定邮箱和验证码,点击 “获取验证邮件” ,此时您输入的邮箱中会收到一个绑定链接,如在您邮箱的收件箱中没有找到此链接,可以在垃圾邮箱中查找。

图片

④ 点击此链接即可绑定邮箱,点击后会跳转至绑定成功页面

图片

图片

⑤ 邮箱绑定成功后,请回到开发者平台主页面,点击“申请”,填写相应信息后,点击“提交”即可。

图片

图片

您提交转正“申请” 后,可以及时联系深思官网在线客服,或直接电话联系 010-56730936 以便快速将您转为正式开发者。

注意

测试开发者正式开发者的区别:

硬件锁:

  • 正式开发者:
    定制且唯一的控制锁、定制的用户锁

  • 测试开发者:
    控制锁以及用户锁是非定制的

云锁:

  1. 测试开发者只能添加一个产品;
  2. 测试开发者不提供统计功能;
  3. 测试开发者不提供软锁功能;
  4. 测试开发者最多可添加100个用户,批量导入单次不超过10个用户;
  5. 测试开发者最多可发布1000条许可;
  6. 测试开发者无法修改开发者名称;
  7. 测试开发者无法下载开发者产品信息包;
    注意:测试开发者转为正式开发者后,原来发布的许可会全部删除。

软锁:

测试开发者无法测试及使用。

SDK:

  • 正式版 SDK:
    拥有独立的开发者 API 密码、密钥及证书体系,每个开发者的开发包均唯一,以确保了SDK开发包以及库文件的定制,黑客不会有通用的破解手段。

  • 测试版 SDK:
    通用的SDK开发包

以上是转为正式开发者的步骤,下面将介绍工具盒的安装以及使用

1.3 下载Virbox 开发者工具盒获取 SDK#

转正成功后,即可在登录页面下载工具盒

工具盒的主要作用:Virbox 开发者工具盒是一款支持在线下载 SDK 工具套件、文档、API 及示例代码的下载程序,同时集成工具管理和检查更新功能,确保开发者第一时间获取最新工具及文档。

注:如开发者要做许可签发以及软件加密的操作请务必安装工具盒及SDK。

1.下载工具盒:

登录 Virbox LM 平台(链接: Virbox LM 平台

2.安装工具盒:

可修改安装目录,然后点击安装--->完成即可。

3.在开发者工具盒中登录 Virbox LM 平台转正账号:

4.点击下载SDK,检测后立即更新

工具盒包含了 加壳工具 DS 工具开发者管理工具 API 帮助工具 Virbox 用户工具( Windows ) Virbox 用户工具( Linux )以及 API 与相关文档。

开发者可以通过 Virbox 开发者工具盒快速打开相应工具及文档,完成加密授权等工作。各个工具说明可点击上面链接查看详细使用文档。

注意事项:

1.Virbox 开发者工具盒与 SDK 安装包不兼容,安装前会卸载已安装的 SDK 文件,并清空安装目录,请在安装 Virbox 开发者工具盒前备份SDK安装目录下的内容。

2.Virbox 开发者工具盒要求开发者使用新版本的开发锁(3.1.20及以上版本,支持PIN功能),即 2018-5-9 日之后首次下单购买开发锁的开发者可以正常使用,否则,开发者所持有的旧版本开发锁(版本号低于3.1.20)需更换新版本后才能使用。请联系深思更换开发锁,获得更高的安全保障。

3.如果您在安装工具盒或者下载文件的过程中遇到安全管家等软件报毒的情况,请选择允许操作。

至此,工具盒已经安装完成,软件开发商可以开始签发许可以及软件加密的操作了。

二、产品管理及云许可分发#

在做产品管理以及许可分发操作前,我们需要了解下什么是许可?

软件许可(Software License) 是一种数据凭证, 由软件作者与用户签订, 用以规定和限制软件用户使用软件(或其源代码) 的权利, 以及作者应尽的义务。

那么什么是云许可、软许可以及本地许可呢?
点击关键字进入相应许可说明:云许可软许可本地许可网络许可

了解什么是许可后,开发者需要清楚开发者软件与深思许可之间的关系,以便于很好的管理产品并与许可建立联系,其关系图如下:

APP A 在加壳以及许可分发时与许可ID1对应
APP B 在加壳以及许可分发时与许可ID2对应
APP C 在加壳以及许可分发时与许可ID3对应

以上描述的是软件产品与许可的关系,接下来是 添加产品许可分发 的操作说明,此步骤为将相应许可签发给指定用户的操作,以完成软件的授权。

下图为软件从加密、许可、中间件、反黑引擎的关系说明图:

2.1 新建产品#

登录VirboxLM平台

打开产品管理,点击"新建",填写产品信息,此产品可以代表您待加密的程序。

注:许可ID由开发商自行定义,范围是正整数1-42亿数字范围,此许可ID需要与加密时使用的许可ID一致,许可ID是用户持有的许可和加密后软件的重要关联,此处我们设定许可ID为1

更多详细信息见>>新建产品属性的相关说明:

图片

2.2 新建模板(账号模板)#

点击 “销售模板”选择“账号模板”,点击 “新建” ,填写模板名称,选择上一步新建的产品,选择计费模式,设置许可可使用的时间、次数等 。

销售模板作用是设定许可的可用范围。开发者可以创建不同的销售模板,以适应不同的销售模式,例如永久、限时、限次、限功能等,如有相同授权模式的软件用户,可使用同一销售模板进行许可分发,节省开发者时间。 计费模式见 计费模式说明

更多详细信息见>>新建模板属性的相关说明:

注:因本文主要演示软许可在线使用的场景,如软许可用于离线环境中,请将 “新建模板” 中的 “离线绑定” 选择为支持。

图片

2.3 新建用户#

点击 “用户管理”,点击 “+用户” ,添加用户提供的邮箱或者手机,本文使用演示邮箱:3503238049@qq.com

开发者需要准备一个测试邮箱(非注册开发者平台邮箱),稍后作为 “软件用户” 的角色被开发者添加到平台上,进行许可分发, 每个用户可以拥有任意多个许可。开发者可以对用户进行检索、编辑以及删除操作。用户创建成功后,邮箱或手机号信息不可变更。

① 添加用户
② 输入用户的邮箱号或者手机号,点击保存
③ 添加用户后,用户的邮箱或者手机会收到一个随机的密码

图片

2.4 许可分发#

点击 “许可分发” 选中 “账号许可”,点击 “发布许可”。

许可分发是许可管理的核心环节,给指定用户分发许可,用户将在许可的有效期内拥有软件的使用权,许可到期加密后软件将无法使用。

图片

选择2.2步骤新建的模板,添加2.3步骤添加的用户即(3503238049@qq.com),点击“发布”

点击 “许可分发”,查看已发布许可

图片

至此,您已经将云许可分发至对应 “用户账号” (本文为3503238049@qq.com邮箱)中,接下来将演示如何对软件进行加密。

三、软件加密#

本文主要演示对Java开发的程序的class或jar包加壳的流程:

3.1 对java项目运行时依赖的可执行文件exe加壳#

3.1.1打开加壳工具#

深思对 .class / .jar 文件的加密方式是使用 Virbox Protector 加壳工具对jdk安装目录下的 java.exe 进行加壳,再使用 DS Protector 对 .class 或 .jar 进行加密。

启动 Virbox 开发者工具盒 -> 点击 “加壳工具” ->点击 “启动加壳工具”

加壳工具主界面:

将jdk安装路径下的 java.exe 拖入到加壳工具中

温馨提示: 不一定每个java项目依赖的都是java.exe有的项目启动时有可能会依赖tomcat.exe 所以请在加密前先运行项目通过进程查看项目依赖的是哪个可执行程序,对可执行程序先做加壳,再对class或jar做加密,如下图所示:

图片

温馨提示: 不一定每个java项目依赖的都是java.exe,有的项目启动时有可能会依赖tomcat.exe, 所以请在加密前先运行项目,通过进程查看项目依赖的是哪个可执行程序,然后相应对可执行程序先做加壳,再对class或jar做加密,如下图所示:

3.1.2 登录Virbox LM平台开发者账号#

这里我们需要登录开发者账号(需要联网)

图片

3.1.3 选择相应许可形式#

许可类型勾选为软锁

图片

3.1.4 填写许可ID#

该区域的许可ID应该与 产品管理及许可签发 操作时签发到“用户账号”中的许可ID相同,由于对应的产品许可ID为1,所以此处许可ID,填写为1。

图片

3.1.5 API密码#

与开发者编号相对应的32个字符表示的序列号, 保证了开发者的云授权平台的安全, 每个开发者有一个唯一的开发者密码。 可以登录 Virbox LM 平台 在左上角的查看信息中获取,将API密码复制到加壳工具对应位置。

3.1.6 锁芯片号#

锁芯片号/序列号的概念只在硬件锁里才会有,在云锁和软锁中是没有锁序列号的概念的,本文可不必关心。

锁芯片号类似于9733c8010007020766e5000700050019, 能够唯一确定一把硬件锁, 如果这里指定了某把锁的芯片号, 那么保护后的程序只能使用该硬件锁才能打开。

锁芯片号可以将硬件锁插在电脑上,然后通过Virbox用户工具 -> 硬件锁 -> 锁序列号获取。

图片

3.1.7 被保护函数列表#

此处开发者不必做设置.

3.1.8 加密选项#

打开DS开关,设置密码,DS的主要作用是后面对.class和.jar加密时使用。

图片

3.1.9 消息选项#

当程序被加密后,程序就与我们之前创建的许可进行关联,当用户在使用我们的加密的程序时如果触发了一些限制时,会以该界面上的消息进行显示。

图片

3.1.10 软件加壳#

按照上面步骤配置好加壳工具后,点击 “立即加壳” 即可完成程序的加壳操作。

图片

接下来,我们需要将原始的程序进行备份或移除,再将被加壳程序(这里是java.ssp.exe)改名为原始程序名java.exe,java.exe.ssp 为配置文件,可以单独备份无需给客户, 后续加密jar包或class文件需要用到。

3.2 class和jar加密#

1、打开DS加密工具#

图片

2、配置DS#

点击浏览 选择上一步对java.exe加壳时生成的 java.exe.ssp 即ssp文件。

图片

点击添加资源 选中要加密的 .class或.jar 文件。点击保护它 ,绿色进度条执行完成,则完成加密。

图片

加密后的文件名为原文件名称,原文件名称则变更为原文件名称.bak

至此,.class或jar加密流程已经完成,下一步需要对加密后的程序进行测试,检查被保护的程序在没有许可或相应的限制下是否有正确的提示。

四、测试加密后程序#

软件用户运行加密后程序,需要在计算机端安装 Virbox 用户工具,并登录 “用户账号” 如下图1如示:

注意:这里的 “用户账号” 是用户提供的,经过步骤二分发许可的 “用户账号”(邮箱或者手机),并不是开发者登录平台的账号。

因本文主要演示的是软许可在线使用的场景,如软许可需要用于离线环境中,请在2.2步骤中将 “新建模板” 中的 “离线绑定” 选择为支持。然后详细软件用户使用流程见 软许可离线使用说明

以下为软许可在在线环境中,软件用户的使用说明

图片

查看是否有相应的许可

点击登录经过步骤二签发许可的“用户账号”查看账号内是否存在相应的许可

图片 图片

启动加密后的程序后需要检查软件的状态是否可正常运行。

4.1运行成功或错误提示#

①软件正常运行。 重启tomcat服务 验证加密过的项目是否出错。

②如果安装了Virbox用户工具没有登录2.3步骤中添加的用户.重启tomcat服务时会提示如下错误。

图片

③账号登录后,再启动tomcat服务,即可正常运行 图片

④如果使用期间把账号解绑了会提示如下错误。点击确定程序就退出了,tomcat服务会停掉。 图片

⑤用户使用的软锁内没有合法许可,或者未在用户许可工具里登录用户账号,软件无法正常运行。 图片

⑥如登录的 “用户账号”内没有相应许可则提示: