一种关于Navicat Premium 12 for Mac无补丁无毒的激活方法

by LauCyun Oct 10,2018 23:36:18 87,171 views

以前一直用的绿色版Navicat Premium,但是安全性不高,然后Google了一番,找到@DoubleLabyrinth大神的破解方法无需安装补丁,其安全性在可控范围之内。

先介绍一下整体的破解思路:首先用RSA加密算法工具生成一对公钥和私钥,用自己的公钥替换主程序中预置的RSA加密算法公钥,然后再用自己的公钥和私钥来加密解密激活请求信息,进行离线激活。

RSA加密算法的特点是密钥成对匹配使用,公钥加密私钥才能解密,私钥加密公钥才能解密。

破解环境:macOS High Sierra 10.13.6

测试版本:Navicat Premium for Mac 12.1.10 英文版

需要的资源、工具如下:

0x1 生成RSA公私钥对

可以用openssl工具生成,注意密钥位数是2048位,密钥格式是PKCS#8,不需要输入密钥加密密码。

建议使用https://laucyun.com/navicat自动生成,如图1所示:


图1 生成RSA公私钥

为了保险起见,可以先备份一下RSA公私钥,如下图2所示:


图2 备份RSA公私钥

将会下载一个名为RSAKey.zip的文件,里面有private.pempublic.pem两个文件,private.pem即为私钥,public.pem即为公钥。

0x2 替换公钥

接着,就是用上面生成的公钥去替换主程序中预置的RSA加密算法公钥。

在这之前,先备份好/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium文件,以及Navicat中所有的数据库连接配置信息(包括密码),删掉Keychain.app中所有由Navicat保存的密码。

对于Navicat Premium版本 < 12.0.24:

先备份好/Applications/Navicat Premium.app/Contents/Resources/rpk文件,然后直接替换rpk中的公钥即可,无需修改/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium文件,因此可直接跳至0x3

用010 Editor工具打开/Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium文件,然后搜索关键字-----BEGIN PUBLIC KEY-----来查找公钥,如图3所示:


图3 搜索公钥位置

找到公钥起始位置后,然后用上面生成的公钥直接替换,如图4所示:

注意:请一行一行替换,注意中间的空字符。


图4 替换Navicat Premium中的RSA公钥

替换完成后,直接保存。

0x3 重新签名

这时,你打开Navicat Premium.app会发现报错了不能打开,出现这问题的原因是:由于系统自身的签名验证,需要对Navicat Premium.app重新签名。

至于如何生成一个自签名的代码签名证书,请参考:https://blog.csdn.net/Roland_Sun/article/details/50452665

创建完成后,选中证书右键选择显示简介,然后将其设置为总是信任它,如图5所示:


图5 信任创建的证书

OK,代码签名证书搞定后,然后使用codesign命令对Navicat Premium.app进行重签名,命令如下:

$ codesign -f -s "Navicat Premium" /Applications/Navicat\ Premium.app

说明:

  • Navicat Premium是你证书的名字
  • /Applications/Navicat\ Premium.appNavicat Premium.app的路径

OK,重新打开Navicat Premium.app即可正常运行。

0x4 激活

继续使用https://laucyun.com/navicat,选择Activation Code菜单,然后选择Navicat Premium.app的语言、产品类型、版本号信息,然后点击Generate按钮就会生成一个注册码,如图6所示:


图6 生成注册码

打开Navicat Premium.app,点击注册,输入注册码NAV8-BRWV-QDK6-RGPC,如图7所示:


图7 注册

断网、断网、断网。。。重要的事情说三遍。。。

点击激活按钮后会提示注册失败,然后选择手动激活,如图8所示:


图8 激活失败

将手动激活中的请求码复制到如图9所示的红框中:


图9 生成激活码

然后输入名称和组织,点击Generate按钮即生成激活码,然后将图9中蓝色框中的激活码复制到如图10所示的红框中:


图10 激活

点击激活即可激活成功,如图11所示即为激活成功:


图11 激活成功

整个破解过程就OK Hand了。。。

0x5 参考

Tags