某MongoDB GUI 工具破解教程
## 1 起因数据库GUI工具挺多的, 之前一直使用的`DataGrip`,但是他对于mongdo的支持特别弱,没有提示,没有示例,字段和关键字提示都没有,挺尴尬的; 后来发现了 这款软件; 由于众所周知的原因,这里不发布任何软件截图;
提示:**mongdo DB 最著名和流行的GUI管理工具,没有之一**
## 2 安装必备软件
###2.1 官方下载安装包, 我这里是 5.2.7 版本, 是比较新的
### 2.2 nodejs 和 asar
(https://www.baidu.com/s?ie=UTF-8&wd=nodejs%E5%AE%89%E8%A3%85%E6%95%99%E7%A8%8B)
安装后,国内建议使用 cnpm 淘宝源. 具体教程百度
然后执行安装`asar`
`npm install asar -g`
## 3 开始破解
破解方式有3中, 前两种是无限试用期; 最后一种是专业/企业授权; 还有一个禁止检查更新的破解;下面开始
**一定要先关闭软件**
### 3.1 解压软件的关键`Electron`包
位置在安装目录下的: `resources\` 文件夹中
如果是mac, 请右键软件,打开包内容即可看到
在该目录下有一个 `app.asar` 的文件,这个就是咱们要处理的包
执行`asar extract app.asar app`
就会出现一个名字为 `app`的文件夹
这里推荐使用 vscode + Beautify插件 直接打开该文件夹,因为涉及到多个文件修改, 并且 `Beautify插件` 能够很好的格式化js文件
### 3.2 无限试用期破解方式1
打开`shared\lmCore.js` 文件
如果你的试用期限已到期,只修改这里是不行的,还需要修改另外一个函数的返回值
### 3.3 无限试用期破解方式2
直接替换`shared\lmCore.js` 下面的函数为
```JavaScript
//是否已过试用期,改为false
function licTrialExpired() {
return false;
}
function doGetLicInfo() {
var a = readLicInfoFromLocal();
let x = false;
return {
//enums_1.LicStatus.TrialExpired,enums_1.LicStatus.Trial,enums_1.LicStatus.Licensed
status: enums_1.LicStatus.Trial,
daysUsed: 0, //已使用天数
trialLeftDays: 4000,//剩余天数
isLicensed: x,
from: a.from,
licTo: x && a || void 0,
licKey: x && a.licKey || void 0,
//LicenseType.personal个人,LicenseType.corporate公司,LicenseType.commercial商业
licType: a && getLicTypeFromKey(a)
}
}
```
保存即可
### 3.4 专业授权破解
其实使用上和试用版没啥区别,需要修改2个文件
`shared\lmCore.js` 和 `frontend/utils/lm.js`
```JavaScript
//lmCore.js
function doGetLicInfo() {
var a = readLicInfoFromLocal();
let x = true;
return {
//enums_1.LicStatus.TrialExpired,enums_1.LicStatus.Trial,enums_1.LicStatus.Licensed
status: enums_1.LicStatus.Licensed,
daysUsed: 0,
trialLeftDays: 4000,
isLicensed: x,
from: 10000,
licTo: 20000,
licKey: "33333",
//LicenseType.personal个人,LicenseType.corporate公司,LicenseType.commercial商业
licType: LicenseType.personal,
}
}
//lm.js 添加一行代码
function serverSideValidateKey(o) {
return tslib_1.__awaiter(this, void 0, void 0, function () {
var n, r, t;
return tslib_1.__generator(this, function (e) {
e.label = 0;//添加这句话即可
switch (e.label) {
case 0:
return index_1.isDev() && index_1.env_config.disableServerSideValidateKey ? [2, {
checkDone: !1
}] : (r = {
licTo: o.licTo,
licKey: o.licKey,
version: index_1.getAppVersion(),
licType: lmCore_2.LicenseType,
from: o.from && moment(o.from).startOf("date").toDate()
}, );
...
}
```
### 3.5 移除检查更新功能
```JavaScript
//frontend/autoupdate-check.js
//置空该函数
function checkUpdate(s, t) {
}
```
### 3.6 重新打包
在 `resources`目录下执行命令
`asar pack app app.asar`
## 结束
执行完3中的步骤后,重新启动软件即可看到效果, 一般来说选择一种破解方式即可, 建议执行`移除检查更新功能` 功能, 每次升级后都需要重新破解,不确定新版本该方法是否还有效
**最后, 求个免费的币吧=.=** nosql ........ Robo 3T? 感谢分享 正好需要!
谢谢! robo 3t 还是 studio 3t Vvvvvoid 发表于 2020-8-21 14:21
robo 3t 还是 studio 3t
不对, 那俩工具都是 java 写的... 加油加油,虽然我现在还看不懂,但是。。。共勉! js的破解 还是可以的. 加油 感谢分享