本文首发于:https://cloud.tencent.com/developer/article/1811034
StarUML
是一个开源的 UML
工具列表软件,它遵守 GNU GPL
的一个修订版。StarUML
项目宣称的目标是代替大型的商业 UML 工具软件,如 IBM
的 Rational Rose
, Borland
公司的 Together
。StarUML
支持 UML2.0 定义的大多数图,是一款跨平台且轻量高效的现代 UML 绘图工具。
但由于其商业性质,免费版仅提供一段时间的试用预览,到期后导出图片会有 未注册
字样水印,非常影响成图质量。经过一番研究,StarUML 采用 Electron
框架,使用 node.js
实现,仅需简单修改其中许可证判定代码即可完成破解,在此感谢万能的 GitHub 社区。
本教程激活 StarUML V4.0.1 ,平台为 Win10。
学(ji)习(huo)步骤
第一步,解包
app.asar
文件是 Electron
程序的主业务文件,是一种压缩格式的文件。我们需要修改的部分就被压缩在这里,具体文件位置为:
C:Program FilesStarUML
├─locales
├─resources
| └─app.asar
└─swiftshader
app.asar
文件可以使用编辑器直接打开,但如果直接修改会导致程序无法正常运行,因此需要解包修改再压缩。
解包前需要确认您的电脑已经安装 node.js
,可在 CMD
执行以下命令,若回显版本号说明已安装,若没有安装请移步:https://nodejs.org/en/
C:Program Files>node -v
v12.18.3
之后全局安装 asar
工具:
npm install -g asar
或者
cnpm install -g asar
C:Program Files>asar -V
v3.0.3
// 出现版本号说明安装成功
解压 app.asar
文件:
asar extract app.asar ./asar/
使用上面命令将 app.asar
解压到同级目录 asar
下,前提是 cd
到文件所在目录,并创建好 asar
文件。
第二步,激活
解压后在 asar 目录下,找到这个文件:asarsrcenginelicense-manager.js
,使用你偏好的编辑器打开,修改其中这段代码:
checkLicenseValidity () {
this.validate().then(() => {
setStatus(this, true)
}, () => {
//setStatus(this,false) <-- comment this line
setStatus(this, true) //<-- add this line
//UnregisteredDialog.showDialog() <-- comment this line
})
}
注意其中注释的部分,总结来看就是将 false
改为 true
,再将 false
的后续动作注释即可。
MaxOS, Linux 类比修改,下面是我在 GitHub 找到的 v3.0.* 文件位置,待验证。。。 Mac OS: /Applications/StarUML.app/Contents/www/license/node/ Linux: /opt/staruml/www/license/node/
第三步,压缩
修改完成后,将修改后的内容重新打包回 app.asar
,使用以下命令压缩即可,其中 pack 是我前一步解压的目录:
asar pack asar app.asar
注:建议在此前备份旧的 app.asar 文件,以免造成无法挽回的损失。
若不出意外,到这里 StarUML 就已经成功激活了。
总结
本文介绍了一种简单的直接使用官网版本激活 StarUML 的方法,避免了不明来源的破解程序对你电脑的侵害。
特别说明:本方法仅用于学习用途,请勿商用,若产生纠纷本文作者概不负责。
参考文献
- Get full version of StarUML
- 如何解压 electron 的 app.asar
- PM 安装 asar,打包,解压,查看 asar 文件
Author: Frytea
Title: 三步激活 StarUML V4.0.1 (WIN10) | 仅供学习
Link: https://cloud.tencent.com/developer/article/1811034
Copyright: This work by TL-Song is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.