目录
一、反编译StarUML
1. 安装asar
npm install -g asar
遇到问题:npm提示证书过期
解决:取消ssl验证
npm config set strict-ssl false
2. 反编译
(1)以管理员身份打开cmd,并进入staruml的资源目录下
(2)执行反编译,下列两个命令都可以,第二个命令需要将目录改为自己的
asar extract app.asar app
node "D:\ProgramFiles\nodejs\node_global\node_modules\asar\bin\asar.js" extract app.asar app
(3)反编译完以后,可以看到该目录多了一个叫app的文件夹,这里就是这个软件的源代码
二、修改源码
1. 解决验证许可
(1)以管理员身份打开 【app\src\engine\license-manager.js】 文件
(2)进行两处修改后保存
checkLicenseValidity () {
if (packageJSON.config.setappBuild) {
setStatus(this, true)
} else {
this.validate().then(() => {
setStatus(this, true)
}, () => {
setStatus(this, true)
// UnregisteredDialog.showDialog()
})
}
}
2. 禁用版本自动更新
(1)以管理员身份打开【app/src/app-context.js】文件
(2)在【appReady】方法中注释三行代码后保存
if (!this.config.setappBuild) {
// if (this.preferences.get('checkUpdate.checkUpdateOnStart')) {
// ipcRenderer.send('check-update')
// }
}
}
三、重新打包源码
修改了源码,需要重新打包源码才能生效修改的部分
运行以下命令:
asar pack app app.asar
四、验证是否成功(导出图片无水印)
(1)正常画一个用例图
(2)导出为png
(3)打开文件可以看到已经没有水印了
(4)放在word里看更明显