StarUML导出图片去水印

1,497 阅读2分钟

发现StarUML绘制的图片导出会有水印,写个去除水印的教程吧。我画的图导出来的效果是这样的

学生注册账号时序图.png windows要破解StarUml,需要用到asar进行解压与打包。asar可以借助npm来安装,mac可以用homebrew安装,windows默认是不支持npm命令的,要使用npm,我们可以借助nodejs,安装nodejs默认就安装了npm,所以首先我们得安装nodejs。

1.安装nodejs

下载node:nodejs.org/zh-cn/ 安装node:配置node(可以不用配置):segmentfault.com/a/119000002…

C:\>node -v
v12.13.1

C:\>npm -v
6.12.1

则npm安装成功

2.使用npm安装asar

npm install -g asar

image.png

3.asar的压缩与解压

//压缩
asar extract 压缩文件 解压文件夹
//解压
asar pack 文件夹 压缩文件名

4.破解StarUml

a.在StarUml的安装目录下找到C:\Program Files\StarUML\resources\app.asar文件,用asar进行解压 asar extract app.asar app

image.png 如果发生如下错误,是由于权限不足,先将app.asar复制到其他文件夹,再进行解压

C:\Program Files\StarUML\resources>asar extract app.asar app
internal/fs/utils.js:314
    throw err;
    ^
Error: EPERM: operation not permitted, mkdir 'app'

image.png

b.在解压出来的文件中找到C:\Users\w\Desktop\app\src\engine\license-manager.js

image.png

打开该文件,修改以下片段

[修改前]

image.png

[修改后]

image.png

[修改代码]

  checkLicenseValidity () {
    this.validate().then(() => {
      setStatus(this, true)
    }, () => {
      //setStatus(this, false)//修改行
      //UnregisteredDialog.showDialog()//修改行
      setStatus(this, true)//修改行
    })
  }
 
  /**
   * Check the license key in server and store it as license.key file in local
   *
   * @param {string} licenseKey
   */
  register (licenseKey) {
    return new Promise((resolve, reject) => {
      $.post(app.config.validation_url, {licenseKey: licenseKey})
        .done(data => {
          var file = path.join(app.getUserPath(), '/license.key')
          fs.writeFileSync(file, JSON.stringify(data, 2))
          licenseInfo = data
          setStatus(this, true)
          resolve(data)
        })
        .fail(err => {
          setStatus(this, true)//修改行
          //setStatus(this, false)//修改行
          //if (err.status === 499) { /* License key not exists *///修改行
          //  reject('invalid')//修改行
          //} else {//修改行
          //  reject()//修改行
          //}//修改行
        })
    })
  }

c.修改完保存,用asar打包,再用打包后的app.asar覆盖C:\Program Files\StarUML\resources\app.asar,这样就破解完成了

asar pack app app.asar

image.png

image.png 然后看看导出效果,已经是成功去除掉水印啦 学生退出登录时序图.png