吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24418|回复: 45
收起左侧

[原创] 另一种 StarUML 3.x 完美破解的思路——比较暴力

  [复制链接]
吾名空白 发表于 2018-9-15 16:23
本帖最后由 吾名空白 于 2018-9-15 16:29 编辑

我不知道这种算不算重复发帖,但是我觉得这是另一种思路,应该不算重复发帖吧

背景

在昨天,我发布了一篇又长又臭的StarUML 3.x 完美破解方案

然后今天早上一起床就想到,啊~好麻烦啊!能不能让完美再简单点?

好的,然后我又开始了折腾(真丶生命在于折腾

我的想法

这一次,我要先从about-dialog.js开始分析

about-dialog.js路径:解压app.asarapp/src/dialogs/about-dialog.js

正所谓:你要什么我就给什么才是最方便的🌚

正文

下面开始正式分析破解

找出关于中要显示的信息的数据来源

首先我们要找出要在关于中显示的信息来源

about-dialog.js中第 45-71 行:

// set license info
if (app.licenseManager.getStatus() === true) {
    var info = app.licenseManager.getLicenseInfo()
    var licenseTypeName = 'Unknown'
    switch (info.licenseType) {
    case 'PS':
      licenseTypeName = 'Personal'
      break
    case 'CO':
      licenseTypeName = 'Commercial'
      break
    case 'ED':
      licenseTypeName = 'Educational'
      break
    case 'CR':
      licenseTypeName = 'Classroom'
      break
    }
    $license.html('Licensed to ' + info.name)
    $licenseType.html(licenseTypeName + ' License')
    $quantity.html(info.quantity + ' User(s)')
    $crackedAuthor.html('Cracked by ' + info.crackedAuthor)
  } else {
    $license.html('UNREGISTERED')
  }
  return dialog
}

可以看出,它首先会先调用license-manager.js中的getStatus()方法判断程序的注册状态。那现在我们去license-manager.js看一下getStatus()这个方法:

/**
 * Get Registration Status
 * @Return {string}
 */
getStatus () {
  return status
}

嗯......很简单的一个方法,我是试过直接在这里设置"true"(注意!这里是返回字符串),但是没什么用,我就没改这里了。那么这里到底有什么用呢?大家看它返回的那个变量:status,这是我们唯一从这里得到的信息,我们全文搜索一下status,可以找到一个setStatus(...)的方法。我修改了一下让它总是设置为true,代码如下:

function setStatus (licenseManager, newStat) {
  if (status !== newStat) {
    status = newStat
    licenseManager.emit('statusChanged', 'true') // status修改为'true',注意要带单引号
  }
}

好了,现在我们可以进入那个if语句了🌚。不难看出,接下来需要的数据都在变量info里,从这一句

var info = app.licenseManager.getLicenseInfo()

可以看出,它调用了license-manager.js中的getLicenseInfo()方法获取所需数据,我们去看一下getLicenseInfo()方法:

getLicenseInfo () {
    return licenseInfo
}

嗯.....还是那么简洁,但是从昨天的文章我们已经知道这个licenseInfo的数据内容格式,他要的数据也是licenseInfo的数据。那么,我们直接模拟licenseInfo的数据即可:

getLicenseInfo () {
  licenseInfo = {
          name: "Reborn",
          product: "Reborn product",
          licenseType: "PS",
          quantity: "Reborn Quantity",
          timestamp: "1529049036",
          licenseKey: "It's Cracked!!",
          crackedAuthor: "Reborn"
        };
  return licenseInfo
}

好了,模拟成功,about-dialog.js那边应该能获取到licenseInfo的数据了。但是,仅仅是这样还不行哦!还有最重要的一点你们别忘了——我们还没破解!

破解注册

破解注册很简单,直接修改license-manager.js中的checkLicenseValidity()这个方法就好了。

修改后的代码如下:

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

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

注册成功!!

完成以上流程后应该就能成功直接破解了,不用输入注册码,并且这种方法破解后同样能在关于显示你自定义的破解信息!!一样完美~


staruml-about.png

这种方法和昨天的比起来更简单,但是也更暴力。昨天的比较接近正常的验证流程,这种就有点爆破的味道了。这里给出另一种思路给大家参考,希望对大家有帮助。

各位要是觉得对大家有帮助的话,给点热心,有免费评分的评分走一走,谢谢各位

免费评分

参与人数 9威望 +1 吾爱币 +15 热心值 +9 收起 理由
nygula + 1 + 1 非常好使!
无视丶 + 1 + 1 感谢分享!
purplewall + 1 + 1 我很赞同!
Hmily + 1 + 8 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
快乐王子 + 1 + 1 热心回复!
tusdasa翼 + 1 + 1 谢谢@Thanks!
这是追求不是梦 + 1 + 1 我很赞同!
suilibin + 1 我很赞同!
FENGMUTIAN + 1 + 1 用心讨论,共获提升!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

乌懂懂 发表于 2018-9-20 19:47
吾名空白 发表于 2018-9-18 21:03
有具体情况吗?比如截图之类的?
npm安装成功了吗?我是 npm install asar -g 就安装好可以用了

我早就安装了 npm 了, 你看看,返回错误:  error: unknown option `-v'

Windows PowerShell
版权所有 (C) Microsoft Corporation。保留所有权利。

PS C:\Users\Administrator> npm -v
5.6.0
PS C:\Users\Administrator> npm install asar -g
C:\Users\Administrator\AppData\Roaming\npm\asar -> C:\Users\Administrator\AppData\Roaming\npm\node_modules\asar\bin\asar.js
+ asar@0.14.3
added 1 package and updated 2 packages in 18.779s
PS C:\Users\Administrator> asar -version

  error: unknown option `-v'

PS C:\Users\Administrator>

 楼主| 吾名空白 发表于 2018-9-21 02:17
乌懂懂 发表于 2018-9-20 19:47
我早就安装了 npm 了, 你看看,返回错误:  error: unknown option `-v'

Windows PowerShell

这个提示的话应该是安装成功了,不然就会报错"xxx command not found"之类的。这个我觉得是你后面带的参数错了,是--version才对(两条杠)
heiketian10 发表于 2018-9-15 16:53
shenbl201 发表于 2018-9-15 17:22
厉害了~~
FENGMUTIAN 发表于 2018-9-15 19:06
嘿嘿,前来学习
suilibin 发表于 2018-9-15 21:33
来个打包好的文件呗
may_be_2018 发表于 2018-9-15 22:15
过程很详细,谢谢分享
丿颠覆灬虎哥 发表于 2018-9-15 22:44
不错,感谢分享
anhua123 发表于 2018-9-15 23:13 来自手机
感谢热心分享
VisualBoy 发表于 2018-9-16 12:45
经过测试,十分好用,谢谢分享
游叶子明 发表于 2018-9-16 13:26
有没有打包好的文件?
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-22 01:57

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表