探索StarUML的认证机制

最近为选择合适的,轻量级的UML工具而伤神;试用了很多工具,最轻量简洁的要数StarUML了。此处主要介绍对其StarUML工具的科学安装之法(适合开发);这里仅作为技术交流体验,不建议大家用于商业用途,有条件还是支持正版。


说明

我安装的是StarUML3.2.2版本;这里主要介绍如何修改其源码来达到科学安装的目的;

工具技术栈分析

StarUML采用的技术框架,从表现上来看,应该是基于H5的Electron框架开发而成的;因此也就是说会JavaScript或ES6应该就没问题(当然不会也没关系,跟着本文的科学安装步䠫操作也是可以的)

思路:

  • 首先是禁用其软件的License校验,理论上是找到源码中的License对应代码规则
  • 禁用掉系统自动升级监测和提醒的通知

准备工作

1.安装StarUML软件

直接去官网下载并安装StarUML工具,最好是与我版本一致(你想尝试新版本除外);这里就不赘述了…

2. 安装本地打包工具

在执行之前,需要有一些准备工作,因为是用到前端技术,和Electron所以需要我们在机器上线安装Node环境,Electron的打包工具。

// 安装npm
brew install node
//安装打包工具
npm install asar -g

执行步䠫

1. 找到需要安装的资源包/路径

在应用程序找到对应的安装程序,笔者是以Mac为例,Windows也差不多(window默认路径:C:\Program Files\StarUML\resources),Mac如下
image.png
选中图标–>右键–>通过菜单选择显示包内容;
image.png
然后进入Contents–>Resource目录,找到一下文件
image.png
复制app.asar文件,到任意工作目录,将对其进行解压和修改

2. 对资源包进行解压

我将文件复制到了一个临时目录,然后进入目录执行以下命令,进行资源解压

// 通过asar命令将app.asar文件解压到当前目录下的app目录
asar extract app.asar app

执行完毕后如下
image.png
解压后目录
image.png

3. 修改对应的限制代码

**重点来了:**用开发工具或者编辑文本的工具打开都行,这里我以Visual Studio工具为例:得到如下效果,主要修改图中两个标注的文件:

image.png
1)修改1License检查:src/engine/license-manager.js

  checkLicenseValidity () {
    this.validate().then(() => {
      setStatus(this, true)
    }, () => {
      // setStatus(this, false)
      // UnregisteredDialog.showDialog()
      // 规避:注释掉检查License的机制和弹出框
      setStatus(this, true)
      //UnregisteredDialog.showDialog()
    })
  }

2)修改2自动更新:src/application.js

    this.on('application:check-for-updates', (arg) => {
    //  autoUpdater.checkForUpdatesAndNotify()
    })
    this.on('application:install-and-restart', (arg) => {
    //  autoUpdater.quitAndInstall(false, true)
    })

image.png

4. 打包并覆盖

回到APP目录,执行打包
asar pack app app.asar
将新生成的app.asar文件复制并放到安装目录,替换掉原来的文件,然后再重启StarUML工具

5. 验证

重启后,进入Help菜单,尝试输入激活密匙

image.png
会弹出如下提示

image.png

如上就说明已经成功了
说明:其实就算在Help菜单,执行删除License操作,最后都会是已经激活状态,都会是刚刚上面的效果)


最后,如果觉得以上操作太麻烦,也可以直接下载一下资源包,是已经修改后并打包的,直接覆盖安装目录下的app.asar文件即可
下载链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

一起学开源

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值