一、破解原理
利用asar解压安装好的StarUML中的app.asar文件(因为StarUML中的源代码是用asar打包的,具体操作看(二)详细步骤,这里只简单讲一下原理),然后修改解压好的app.asar文件中src\engine\license-manager.js文件,修改其中的checkLicenseValidity()//通行证验证函数,让StarUML在启动验证同行证时,无论验证成功还是失败均返回验证成功。
二、破解具体流程
①、安装Node.jsp和nmp(由于现在的Node.jsp已经集成了nmp,所以只需要安装一个Node.jsp即可)
Node.jsp 是一个让 JavaScript 运行在服务端的开发平台,而nmp是这个平台上的一个包管理工具,我们利用这个包管理工具来下载asar打包工具,进而利用asar解压/打包StarUML安装目录下的app.asar文件。
Node.jsp官方下载地址:https://nodejs.org/en/
下载安装即可(安装时勾选全部),安装路径可更改,StarUML的安装路径是默认的C盘,无法修改,要注意。
安装完成后打开cmd,分别输入node -v 和 npm -v即可查看其版本
②、利用npm安装asar
在cmd中直接输入即可
cnpm install -g asar
③、利用asar解压StarUML\resources下的app.asar文件
asar extract app.asar app //注意,该语句需要在app.asar的路径下执行
注意,上述解压命令可能会有一种报错的可能,是由于操作系统的文件夹权限所导致的,解决方法如下图,修改整个StarUML文件夹的系统用户权限即可:
④、解压后修改证书验证代码(代码文件的位置如下图,app文件夹就是你解压的app.asar)
双击打开后,找到checkLicenseValidity()函数修改即可
修改完成后回到C:\Program Files\StarUML\resources该路径下(具体用户可能有差异,自行修改)对修改过的app进行打包并替换原有app.asar,代码如下
asar pack app app.asar
⑤打开StarUML(输入许可证时会告诉你已经有了) 大功告成
三、鉴于许多人不想费时间,我把自己打包好的3.0.2的文件上传了上来,供下载,1个积分
地址如下:https://download.csdn.net/download/adreammaker/10927343
下载后到StarUML的安装目录下的source文件夹下,将app.asar替换掉就好