下载地址 www.navicat.com/en/productsgit
mac
安装过程省略,一直按照下去最后放到Application
便可;github
本次的破解使用的是 navicat-keygenjson
Navicat-keygen
项目alex:projects $ git clone https://github.com/DoubleLabyrinth/navicat-keygen
复制代码
alex:projects $ cd navicat-keygen/
复制代码
mac
分支alex:navicat-keygen $ git checkout mac
复制代码
$ brew install openssl
$ brew install capstone
$ brew install keystone
$ brew install rapidjson
复制代码
navicat-patcher
并编译alex:navicat-keygen $ make all
//编译以后,会有着两个文件
alex:navicat-keygen $ ls bin
navicat-keygen navicat-patcher
复制代码
navicat-keygen
, navicat-patcher
以后,记得备份你的app甚至备份整个 Contents
,均可以。api
navicat-patcher
替换掉公钥:Usage:
navicat-patcher <navicat executable file> [RSA-2048 PrivateKey(PEM file)]
复制代码
<navicat executable file>
: Navicat可执行文件的路径。bash
这个参数必须指定。网络
[RSA-2048 PrivateKey(PEM file)]
: RSA-2048私钥文件的路径。app
这个参数是可选的。 若是没有指定,navicat-patcher
将会在当前目录下生成一个新的RSA-2048私钥文件RegPrivateKey.pem
。ui
我使用最简单的用法,不指定:编码
alex:navicat-keygen $ cd bin
alex:bin $ ls
navicat-keygen navicat-patcher
alex:bin $ ./navicat-patcher /Applications/Navicat\Premium.app/Contents/MacOS/Navicat\ Premium
复制代码
如上图:这只是样例生成RSA public key
一部分。spa
在bin
里面生成了RegPrivateKey.pem
仅对 Navicat Premium 版本 < 12.0.24 的说明:
若是你的Navicat版本小于12.0.24,那么navicat-patcher
将会终止而且不会修改目标文件。
你必须使用openssl生成RegPrivateKey.pem
和rpk
文件:
$ openssl genrsa -out RegPrivateKey.pem 2048
$ openssl rsa -in RegPrivateKey.pem -pubout -out rpk
复制代码
接着用刚生成的rpk
文件替换
/Applications/Navicat Premium.app/Contents/Resources/rpk
复制代码
用codesign对Navicat Premium.app重签名
$ codesign -f -s "Your self-signed code-sign certificate name" <path to Navicat Premium.app>
复制代码
注意:
"Your self-signed code-sign certificate name"是你证书的名字,不是路径。
例如:
alex:bin $ codesign -f -s "master" /Applications/Navicat\ Premium.app/
复制代码
navicat-keygen
来生成 序列号 和 激活码Usage:
navicat-keygen <RSA-2048 PrivateKey(PEM file)>
复制代码
<RSA-2048 PrivateKey(PEM file)>
: RSA-2048私钥文件的路径。
这个参数必须指定。
例如:
alex:bin $ ./navicat-keygen ./RegPrivateKey.pem
Which is your Navicat Premium language?
0. English
1. Simplified Chinese
2. Traditional Chinese
3. Japanese
4. Polish
5. Spanish
6. French
7. German
8. Korean
9. Russian
10. Portuguese
(Input index)> 0
(Input major version number, range: 0 ~ 15, default: 12)> 12
Serial number:
N6VM-YWXC-8ZJU-99VH
Your name:
复制代码
你能够使用这个 序列号 暂时激活Navicat。
接下来你会被要求输入用户名
和组织名
;请随便填写,但不要太长
Your name: alex
Your organization: alex
Input request code (in Base64), input empty line to end:
复制代码
以后你会被要求填入请求码。注意 不要关闭注册机.
断开网络 并打开Navicat。找到注册
窗口,填入注册机给你的序列号。而后点击激活
按钮
通常来讲在线激活确定会失败,这时候Navicat会询问你是否手动激活
,直接选
在手动激活
窗口你会获得一个请求码,复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入
若是不出意外,你会获得一个看似用Base64
编码的激活码。直接复制它,并把它粘贴到Navicat
的手动激活
窗口,最后点激活
按钮。若是没什么意外的话应该能成功激活