StarUML 5.0.2 安装破解详细操作过程 | 您所在的位置:网站首页 › starUML一直安装到c盘 › StarUML 5.0.2 安装破解详细操作过程 |
文章目录
感谢1 下载安装包2 安装3 破解3.1 安装node.js3.2 反编译StarUML3.2.1 安装asar3.2.2 反编译
4 修改源码4.1 解决验证许可4.2 禁用版本自动更新4.3 重新打包源码
5 汉化
感谢
此处感谢评论区 光芒再现robotliang 的评论,提供了有效改正。 1 下载安装包StarUML官方下载地址 根据具体需求下载安装包资源。 注意:官网下载慢,并且不稳定,时常断掉连接。有需要可以留言,可以百度分享安装包。 双击下载安装包就可以安装了。 注意:安装不会提示【自定义路径】,默认安装在以下路径下 C:\Program Files\StarUML\安装完成后会出现小窗口,提示需要注册,点击右下角不注册即可,关闭【StarUML】。 3 破解 3.1 安装node.js破解需要先安装node.js环境。此非本文重点,也比较简单,自行安装。 3.2 反编译StarUML 3.2.1 安装asar编译之前需要安装编译工具【asar】 npm install -g asar查看版本号 asar -v # 安装时使用 -v 参数是有效的,但是之后再测试,发现报错“error: unknown option '-v'” # 可以使用 --version 参数 asar --version如果显示出现版本号,就说明安装成功。 个人遇到的问题 因为我是使用的【Windows PowerShell】工具,所以出现以下报错 无法加载文件 C:\Users\walker\AppData\Roaming\npm\asar.ps1,因为在此系统上禁止解决 在系统中搜索框 输入 【Windos PowerShell】,点击【管理员身份运行】在终端界面直接输入【set-ExecutionPolicy RemoteSigned】回车运行根据提示,同意执行策略修改;输入【Y】或者【A】,回车再次执行【asar -v]测试。![]() 安装好了反编译工具,就可以继续反编译操作了。 进入安装目录(上面有提到),找到文件夹【resources】 完整路径: C:\Program Files\StarUML\resources在这个目录,打开终端工具,使用【asar】进行反编译。 asar extract app.asar app个人遇到的问题 报错权限问题,这是因为要统计的是C盘即系统盘的信息,所以需要管理员权限才能调用。 internal/fs/utils.js:307 throw err; ^ Error: EPERM: operation not permitted,解决 以管理员身份打开终端工具。【CMD】或者【Windows PowerShell】 反编译完以后,可以看到这里多了一个叫app的文件夹,这里就是这个软件的源代码。 打开 【app\src\engine\license-manager.js】 文件。在183行,进行两处修改。 注释一行修改一行 // 修改验证许可的方法,使其验证成功,不提示 checkLicenseValidity () { if (packageJSON.config.setappBuild) { setStatus(this, true) } else { this.validate().then(() => { setStatus(this, true) }, () => { setStatus(this,true) // 原本是false,改成true // UnregisteredDialog.showDialog() // 注释掉 }) } } 4.2 禁用版本自动更新修改 【app/src/app-context.js】中的【appReady】方法,注释部分代码。代码在713行。 if (!this.config.setappBuild) { /* 禁用自动更新,注释掉此处if语句块 if (this.preferences.get('checkUpdate.checkUpdateOnStart')) { ipcRenderer.send('check-update') } */ } 4.3 重新打包源码修改了源码,需要重新打包源码。生效修改的部分。运行以下命令: asar pack app app.asar重新打开 StarUML,【不提示需要注册和没有 Unregistered 标识】则表示破解成功。 5 汉化汉化非程序员必须,建议还是使用英文界面 网上没有找到StarUML 5.0.2版本的汉化包,所以只能自己手动汉化了,汉化不是一个技术活,而是苦力活,只是将对应文件里的英文换成中文而已! 关闭StarUML,还是来到上面的app文件夹里面 常量字符串,主要在src/strings.js中。(这些会作为常量主要在src中的各个模块使用)菜单,主要在resources/default/menus/*.json中。(扩展和插件目录的menus应该也会被识别为菜单项)首选项,主要在resources/default/preferences/default.json中。(扩展和插件目录的preferences应该也会被识别为首选项)规则验证提醒消息,主要在resources/default/rules.js中的message:提醒消息中。(扩展和插件目录的rules.js应该也会被识别为规则)窗口页面,主要在src\static\html-contents。(StarUML应该是Electron这个js框架编写,其窗口是用HTML编写的)其他文件,包括Dialog, toast(这两个直接用vscode搜索Dialog, toast就可以),以及一些js文件中的英文等等 以【resources/default/menus/win32.json】为例![]() 【中文版】修改 将label后面的英文改为中文即可 { "menu": [ { "label": "文件", "id": "file", "submenu": [ { "label": "新建", "id": "file.new", "command": "application:new" }, { "label": "模板中新建", "id": "file.new-from-template", "command": "application:new-from-template" }, { "label": "打开...", "id": "file.open", "command": "project:open" }, { "label": "打开最近", "id": "file.open-recent", "submenu": [] }, { "label": "保存", "id": "file.save", "command": "project:save" }, { "label": "另存为...", "id": "file.save-as", "command": "project:save-as" }, { "label": "关闭", "id": "file.close", "command": "project:close" }, { "type": "separator" }, { "label": "导入", "id": "file.import", "submenu": [ { "label": "Fragment...", "id": "file.import.fragment", "command": "project:import-fragment" } ] }, { "label": "导出", "id": "file.export", "submenu": [ { "label": "Fragment...", "id": "file.export.fragment", "command": "project:export-fragment" } ] }, ... } ] }重新打包 运行打包命令 asar pack app app.asar |
CopyRight 2018-2019 实验室设备网 版权所有 |