Ubuntu StartUML安装教程

news2025/1/12 17:32:35

1. 前言

        开发工作中,要经常画流程图,时序图等,Ubuntu下推荐超级好用的工具StartUML,也用过Dia这款工具,对比使用之后还是觉得StartUML更香一点,本篇文章记录一下安装破解过程。

2. 安装

2.1 官网下载

        地址:https://staruml.io/download

 我们选择deb 文件安装

2.2 安装命令

        sudo  dpkg  -i    StarUML_x.x.x_amd64.deb

   官网的首次安装一般都是需要购买版权licence的,下一小结来看破解的方法。

3. 破解

3.1 进入到安装目录

cd  /opt/StarUML/

在当前目录下搜索校验证书是否有效的方法:checkLicenseValidity

grep -nri checkLicenseValidity .

结果如下:

 匹配到二进制文件 app.asar  先说一下 asar的定义:Asar是一种简单的扩展归档格式,其工作原理类似于tar,将所有文件连接在一起而不进行压缩,同时支持随机访问。而checkLicenseValidity方法所在的license-manager.js 文件是压缩在app.asar中的

所以破解之前我们得先解压这个app.asar 文件,此时就需要安装一下asar这个工具

3.2 安装asar

sudo snap install asar

  但是会提示错误消息

error: This revision of snap "asar" was published using classic confinement and thus may perform
       arbitrary system changes outside of the security sandbox that snaps are usually confined to,
       which may put your system at risk.

       If you understand and want to proceed repeat the command including --classic.

大致意思如下:此版本的“asar”是使用经典限制发布的,因此可能会在常规被限制的安全沙盒之外执行任意系统更改,这可能会使您的系统处于危险之中。

如果您理解并想继续,请重复命令,包括--classic。那么就继续带上参数安装吧

sudo snap install asar --classic

到这里就安装asar就成功了

3.3 重新打包app.asar 文件

   进入到 /opt/StarUML/resources 目录下,然后通过命令解压 app.asar 到临时文件夹tempapp中

sudo asar extract app.asar tempapp

然后把app.asar 文件删除掉(可删可不删除),因为等会修改代码后再重新打包生成此app.asar文件。

接下来进入到此tempapp文件下面来 ,查找checkLicenseValidity 方法

 因为我们需要修改checkLicenseValidity这个方法中的代码,通过查看这个文件的权限,发现用户只有读权限,没有写和执行权限,故先要修改一下权限:

chmod 777 src/engine/license-manager.js

然后在代码的131行,修改如下:

  checkLicenseValidity () {
    if (packageJSON.config.setappBuild) {
      setStatus(this, true)
    } else {
      this.validate().then(() => {
        setStatus(this, true)
      }, () => {
        //setStatus(this, false)          //屏蔽
        //UnregisteredDialog.showDialog() //屏蔽
        setStatus(this, true)     //增加这句话
      })
    }
  }

保存退出后,然后重新打包生成app.asar

sudo  asar  pack  tempapp  app.asar

重新打开 StarUML 软件,菜单项 Help--Enter Licence key ,会弹出对话框

恭喜你破解成功!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/74912.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SpringSecurity主要流程及扩展实现

解析主流的SpringSecurity安全框架,结合若依框架进行分析。 文章目录概述登录流程分析SecurityConfig配置类设置过滤请求添加过滤器注册认证provider/获取用户详情服务关键过滤器源码分析SpringSecurity实现若依token生成逻辑创建令牌设置用户代理信息刷新令牌有效期…

青春,不过几届世界杯系列1 —— 我经历的2002 ~ 2022年五届世界杯速览

1. 前言: 应 SoftwareTeacher, 邹欣老师在CSDN上的关于世界杯的邀约,在此回顾我目前经历的五届世界杯的点点滴滴。 2. 正文: 我是从2002年韩日世界杯,开始看世界杯的。现在算来,我已经经历了5届世界杯,而…

智慧水务平台建设方案全流程管控方案 智慧水务信息化系统的意义_管理_数据_设备

平升电子智慧水务平台建设方案全流程管控方案/智慧水务信息化系统/水务综合运营管理平台/智慧水务平台,综合水务公司对管网地理信息在线、供水调度SCADA、各环节数据互联互通、工单执行过程监督、运营情况分析等管理需求,建立了一套面向基层执行者、中层…

java计算机毕业设计ssm校园舆情监控系统tgv13(附源码、数据库)

java计算机毕业设计ssm校园舆情监控系统tgv13(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff0…

说反话

目录 1009:说反话 输入格式: 输出格式: 输入样例: 输出样例: 代码长度限制: 时间限制 内存限制 思路: 1.数组 1.2代码: 2.拷贝单词 2.2代码: 总代码: 时间复杂度: 总结: 题目链接: 1009:说反话 给定一句英语&#x…

RocketMq使用(5.0)

RocketMq使用(5.0) 基础概念 这一部分我们可以结合一下管理控制台,先来理解下RocketMQ的一些重要的基础概念: 官方文档-消息发送领域模型:https://rocketmq.apache.org/zh/docs/domainModel/01main 整个消息流程&am…

【强化学习论文合集】十四.2018神经信息处理系统大会论文(NIPS2018)

强化学习(Reinforcement Learning, RL),又称再励学习、评价学习或增强学习,是机器学习的范式和方法论之一,用于描述和解决智能体(agent)在与环境的交互过程中通过学习策略以达成回报最大化或实现特定目标的问题。 本专栏整理了近几年国际顶级会议中,涉及强化学习(Rein…

倍福:通过FB_EcCoeSdoWrite功能块写入第三方伺服的COE参数

本文介绍通过PLC写入第三方伺服的COE参数。例如力矩等信息 功能块介绍 首先需要用到的功能块为FB_EcCoeSdoWrite,该参数是写入COE online中的数据。 PLC程序编写 首先扫描程序配置,并链接好NC变量如下所示 然后再COEOnline中确定需要写入的变量的地址如下所示: 确定所在…

Hello erupt-cloud-node

前言 cloud-node我们可以用来封装某些场景下使用的功能集。不启动不用,启动了就用,方便得很。后台管理突然就变成了搭积木。 搭建项目 这个项目的基础设施我们都使用和主项目相同的。所以,我们这里就先搭建项目来看一下。先说目录结构&…

网络属性设置函数 setsockopt (设置绑定地址快速重用)

setsockopt 函数可以设置应用层、传输层、网络层的一些属性,比如 应用层:绑定地址快速重用、允许广播、传输层:设置TCP最大数据段大小网络层:设置IP首部选项、服务类型、生存时间目录 1、setsockopt 参数和返回值解析 2、使用s…

重点| 系统集成项目管理工程师考前50个知识点(3)

本文章总结了系统集成项目管理工程师考试背记50个知识点!!! 帮助大家更好的复习,希望能对大家有所帮助 比较长,放了部分,需要可私信!! 19、项目管理计划的主要内容: &…

RNN--学习笔记

RNN引入“记忆”的概念,即输出需要依赖于之前的输入序列,并把关键输入记住。循环2字来源于其每个元素都执行相同的任务;并⾮刚性地记忆所有固定⻓度的序列,而是通过隐藏状态来存储之前时间步的信息。不同类型的RNN:One…

SpringBoot的自动配置原理

目录 一、关于SpringBoot的启动原理 二、源码分析 SpringBootConfiguration ComponentScan EnableAutoConfiguration Import(AutoConfigurationImportSelector.class) AutoConfigurationPackage 三、总结 一、引言 要理解SpringBoot自动配置原理,首先要从S…

java计算机毕业设计ssm校园二手平台交易系统11w7i(附源码、数据库)

java计算机毕业设计ssm校园二手平台交易系统11w7i(附源码、数据库) 项目运行 环境配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#…

【计算机视觉】Deep SORT多目标跟踪算法讲解(图文解释 超详细)

觉得有帮助请点赞关注收藏~~~ 一、目标跟踪简介 目标跟踪算法可以进行轨迹特征的分析和提取,以弥补目标检测的不足;有效地去除误检,提高检测精度,为进一步的行为分析提供基础。例如,在自动驾驶系统中,目标跟…

4 - 线程池 Java内置的线程池 - ScheduledExecutorService

ScheduledExecutorService ScheduledExecutorService是ExecutorService的子接口,具备了延迟运行或定期执行任务的能力。 1、常用获取方式 (注:还是通过 Executors. 的方式进行调用) 1)static ScheduledExecutorSer…

5702开发板用户手册

一、 底板简介 1.1 产品简介 在这里,对这款 MP5702 开发板底板进行简单的功能介绍。本公司相关核心板都可与其对接,型号如 MP5652(请详见用户手册)。底板核心板的模式来设计组成完整的开发。底板和核心板之间使用高速板间连接器连…

EMCC 中 运用SQL 优化的建议

1. 性能中心 关于SQL的执行信息 2. 优化SQL: ------整个过程SQL 实现---------------------- DECLARE my_task_name VARCHAR2(30); my_sqltext CLOB; BEGIN my_sqltext : SELECT * || FROM sales || WHERE prod_id 10 AND || cust_id …

Android穿戴设备新功能Compose for Wear OS 1.1

Todoist的增长率提高了50%,因为为Wear 3和Outdooractive重建了他们的应用程序,将开发时间缩短了30%,并显着提高了开发人员的生产力和更好的设计/开发人员协作: “Compose 使 UI 代码更易于编写和阅读,使我们能够在设计…

倍福:通过读取FB_EcCoESdoRead第三方伺服的COE参数,例如力矩等信息

本文介绍通过PLC读取第三方伺服的COE参数。例如力矩等信息 功能块介绍 首先需要用到的功能块为FB_EcCoESdoRead,该参数是读取COE online中的数据。PLC程序编写 首先扫描程序配置,并链接好NC变量如下所示然后再COEOnline中确定需要读取的变量的地址如下所示: 确定所在主站的…