mongo的客户端较少,其中Nosql Booster For Mongo算是一个不错的客户端软件,但是他也不是免费的,试用期只有30天。好在这个软件是基于nodejs的。所以我们可以利用npm对这个应用进行解包串改源码,将源码中设置试用期的参数改成足够大,然后再封包,这样我们就能不断的白嫖了。
安装工具
首先我们需要安装nodejs的一个包(当然你首先得安装nodejs和npm否则都是扯淡):
npm install asar -g
我这里的npm安装的工具包默认再~/.npm-global/bin这个目录下,这个要根据大家实际情况了,安装之后要么配置环境变量,要么只能再该安装目录下才能执行了asar这个工具了。
mac配置环境变量同linux,如下:
在~/.bash_profile中添加如下内容:
NODE_NPM_LIB=$HOME/.npm-global/bin
PATH=$NODE_NPM_LIB:$PATH:
export PATH
然后保存,执行source .bash_profile。
修改app
-
首先我们利用工具进行解包,我们需要进入到Nosql Booster For Mongo这软件的resources文件目录下,mac默认是:/Applications/NoSQLBooster for MongoDB.app/Contents/Resources;window的话又见软件,查看一下软件位置就知道了。然后再该目录下执行解包操作:
asar extract app.asar app
-
解包之后就会出现一个被解包的新文件夹,我们在里面找到lmCore.js这个文件,mac中默认在:/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app/shared/lmCore.js;window需要根据文件名自己搜索一下。然后我们打开文件里面一段代码如下:
MAX_TRIAL_DAYS=30,TRIAL_DAYS=30,
这里就是表示这个软件的最大试用期是30天,适应期是30天。所以我们只需要就该这两个值就好了,需要注意的是最大试用期肯定要比试用期要大吧,所以你不能单改其中的一个值,必须两个一起改,不如最大试用期改成100000,试用期改成95000。
-
改完之后,我们回到Resources目录下执行下面命令进行重新封包:
asar pack app app.asar
成功之后,我们重启应用,就能看到效果了。
一键破解
有个恶心的地方时,这个软件经常会更新,更新之后又变成了30天试用期,然后就用不了了。window上可以每次把更新窗口叉掉来防止更新,但是mac上只有立马更新和稍后更新这两个按钮,也就是无法避免更新,难道每次更新完,重复一遍上面这个操作吗,也很蛋疼,所以整理整理出了一个脚本,可以进行一键更新,脚本内容如下:
## shel1.sh
cd "$1"/Contents/Resources
asar extract app.asar app
sed -i "" "s/\MAX_TRIAL_DAYS=.*,TRIAL_DAYS=[0-9]*/\MAX_TRIAL_DAYS=100000,TRIAL_DAYS=95000/g" .//app/shared/lmCore.js
asar pack app app.asar
调用方法:
./shel1.sh "/Applications/NoSQLBooster for MongoDB.app"
需要注意的是,执行这脚本必须要配置npm包的全局变量,另外shell要修改为可执行文件。
忠告
最后还是希望大家有能力的话能够尽可能的支持正版,以上仅供学习和参考,一切法律后果 自行承担。