starUML破解方法(Windows10 & MAC)

最近StarUML由2.0更新到3.0。原来的破解方法,修改license验证函数的方式不能用了。安装位置都变了,已经找不到LicenseManagerDomain.js这个文件了。那该怎么办?老司机告诉大家解决办法。

StarUML是用nodejs写的。确切的说是用Electron前端框架写的。新版本中所有的starUML源代码是通过asar工具打包而成。确切的代码位置在“%LOCALAPPDATA%\Programs\StarURML\resources\app.asar” 
我们可以通过asar工具解压修改达到破解目的。具体操作如下:

1. 安装asar

cnpm install -g asar

2. 解压app.asar

asar extract app.asar app
  •  

3. 修改源代码

通过命令行将程序解压到app目录下。真正的验证license的代码在app\src\engine\license-manager.js

/**
   * Check license validity
   *
   * @return {Promise}
   */
  validate () {
    return new Promise((resolve, reject) => {
      try {
        // Local check
        var file = this.findLicense()
        if (!file) {
          reject('License key not found')
        } else {
          var data = fs.readFileSync(file, 'utf8')
          licenseInfo = JSON.parse(data)
          var base = SK + licenseInfo.name +
            SK + licenseInfo.product + '-' + licenseInfo.licenseType +
            SK + licenseInfo.quantity +
            SK + licenseInfo.timestamp + SK
          var _key = crypto.createHash('sha1').update(base).digest('hex').toUpperCase()
          if (_key !== licenseInfo.licenseKey) {
            reject('Invalid license key')
          } else {
            // Server check
            $.post(app.config.validation_url, {licenseKey: licenseInfo.licenseKey})
              .done(data => {
                resolve(data)
              })
              .fail(err => {
                if (err && err.status === 499) { /* License key not exists */
                  reject(err)
                } else {
                  // If server is not available, assume that license key is valid
                  resolve(licenseInfo)
                }
              })
          }
        }
      } catch (err) {
        reject(err)
      }
    })
  }

这是个典型的javascirpt Promise。启动后会调用validate函数检查license。

checkLicenseValidity () {
    this.validate().then(() => {
      setStatus(this, true)
    }, () => {
      // 原来的代码,如果失败就会将状态设置成false
      // setStatus(this, false) 
      // UnregisteredDialog.showDialog()

      //修改后的代码
      setStatus(this, true)
    })
  }

参照上面的代码将reject的callback原代码注释掉。换成setStatus(this, true) 这样无论你注册与否都验证成功。

4. 重新打包替换原来的app.asar

asar pack app app.asar

启动StarUML 开始工作吧

破解结果

内容概要:本文提出了一种基于离散平稳小波变换(DSWT)域中结合离散余弦变换(DCT)与局部空间频率(LSF)的红外与可见光图像融合方法,并配套提供了完整的Matlab代码实现。该方法首先对源图像进行DSWT多尺度分解,获取低频逼近系数和高频细节子带;在低频子带融合中采用加权平均与最大值选择相结合的策略,以保留较强的能量成分;在高频子带融合中,则依据DCT系数的能量分布与局部空间频率信息设计自适应融合规则,突出显著结构与边缘细节。最终通过逆DSWT重构获得融合图像。该算法有效整合了红外图像的热辐射特征与可见光图像的丰富纹理信息,显著提升了融合结果的视觉质量与信息完整性,在目标可见性、对比度和细节保真方面表现优异。; 适合人群:具备数字图像处理基础知识和Matlab编程能力,从事计算机视觉、遥感成像、安防监控、智能驾驶或模式识别等相关领域研究的研究生、科研人员及工程技术人员。; 使用场景及目标:①应用于夜间 surveillance、复杂光照条件下的目标检测与识别、军事侦察、自动驾驶环境感知等需融合多模态图像信息的场景;②旨在提高融合图像的空间分辨率、对比度与语义完整性,增强后续高层视觉任务(如检测、识别、跟踪)的可靠性;③为学术研究提供可复现、可拓展的图像融合技术方案与代码参考。; 阅读建议:建议结合Matlab代码逐模块分析算法流程,重点理解DSWT分解与重构机制、DCT变换在频域能量分析中的作用以及局部空间频率在细节增强中的设计逻辑,可通过更换不同场景的测试图像验证算法鲁棒性,并尝试调整融合权重参数以优化特定应用场景下的性能表现。
内容概要:本文详细阐述了基于非线性反步法与Lyapunov函数相结合的模型预测控制(MPC)在自主水下航行器(AUV)轨迹跟踪中的应用,复现了高水平期刊研究成果。研究涵盖AUV的Fossen动力学建模、非线性系统控制律设计、Lyapunov稳定性理论的融合以及MPC优化框架的构建,旨在提升水下航行器在复杂海洋环境下的轨迹跟踪精度与系统鲁棒性。通过反步法逐级构造控制输入,并引入MPC优化未来控制序列,有效处理系统非线性、外部干扰及动态约束问题,实现高精度、强鲁棒的轨迹跟踪控制。; 适合人群:具备自动控制理论、非线性系统分析及MATLAB/MPC仿真基础,从事水下机器人、智能控制、导航制导与控制(GNC)等方向的研究生、科研人员及工程技术人员,特别适用于拟开展高水平科研论文写作与算法复现的研究者。; 使用场景及目标:① 掌握非线性反步法在AUV控制中的系统化实现流程;② 深入理解Lyapunov稳定性理论与MPC协同设计的控制架构;③ 复现并拓展顶刊先进控制算法,提升科研创新能力与仿真实践水平;④ 为高精度水下航行器轨迹跟踪提供理论支持与技术解决方案。; 阅读建议:建议结合提供的MATLAB代码进行同步仿真,深入剖析控制律推导、Lyapunov函数构造及MPC权重矩阵调优过程,重点关注Fossen模型假设条件、系统参数敏感性分析,并在不同轨迹指令与扰动工况下验证算法的鲁棒性与适应性。
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值