说在前边的话
由于从 Navicat Premium for Mac 12.0.24 开始,公钥不再存储在 Navicat Premium.app/Contents/Resources/rpk
中。所以对于新版本的 Navicat Premium 以前的破解方法全部失效,最近刚好需要安装这个软件,所以将破解方法简单写个教程。方便需要的朋友参考。
下载
下载 Navicat Premium
点击 Navicat Premium 下载最新版 Navicat Premium
安装
安装 Navicat Premium
双击下载好的 .dmg
文件,如下图所所示,点击Agree
Navicat Premium.app
拖动到右侧应用程序
文件夹
安装依赖库
1 2 3 4 |
$ brew install openssl $ brew install capstone $ brew install keystone $ brew install rapidjson |
编译
本次破解使用的是开源项目 navicat-keygen
第一步 克隆项目
1
|
$ git clone https://github.com/DoubleLabyrinth/navicat-keygen
|
第二步 切换mac分支
1 2 |
$ cd navicat-keygen $ git checkout mac |
第三步 编译 编译 keygen
和 patcher
1 2 |
cd navicat-keygen make all |
bin
文件夹下看到两个可执行文件:
第四步 备份
- 备份好
Navicat Premium.app/Contents/MacOS/Navicat Premium
文件,以及 Navicat 中所有的数据库连接配置信息(包括密码)。 - 删掉 Keychain.app 中所有由 Navicat 保存的密码。
第五步 生成公私秘钥对 (可选)
点击 生成公私秘钥对 然后在页面中点击 生成密钥对(RSA)
公私秘钥
记住保存路径,备用。
本教程中的保存路径是:
navicat-keygen/navicat-keygen/pri.key 和 navicat-keygen/navicat-keygen/pub.key
第六步 替换公钥
1 2 |
用法: navicat-patcher <navicat executable file> [RSA-2048 PrivateKey(PEM file)] |
<navicat executable file: Navicat>
: 可执行文件的路径—->这个参数必须指定。
[RSA-2048 PrivateKey(PEM file)]
: RSA-2048 私钥文件的路径—>这个参数是可选的。 如果没有指定,navicat-patcher
将会在当前目录下生成一个新的 RSA-2048
私钥文件 RegPrivateKey.pem
。
第七步 运行 patcher
若无特殊声明,本教程中的破解命令都在 navicat-keygen/bin/
目录下执行
1
|
./navicat-patcher /Applications/Navicat\ Premium.app/Contents/MacOS/Navicat\ Premium ../navicat-keygen/pri.key
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 |
*************************************************** * Navicat Patcher by @DoubleLabyrinth * * Version: 3.0 * *************************************************** Press Enter to continue or Ctrl + C to abort. PatchSolution0 ...... Ready to apply. Info: Keyword offset = +0x02d5afc2 PatchSolution1 ...... Omitted. PatchSolution2 ...... Ready to apply. Info: Target function offset = +0x00f7113c Info: Keyword offset = +0x02ef1a90 Info: std::string::append(const char*) offset = +0262d724 Your RSA public key: -----BEGIN PUBLIC KEY----- MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApYh9FBVLelCiCsvLA1A4 BTzh18QuflAoqtlt0dD0Vmz8lmND6G6cJhNgMcUT5SyTIPrmBHu0sjNSFtBrGgcc FjZEBbUMFTLr2KhGaWRqjUO/aQhRAPVsRY1bDZH3ItQ3XfF91o6u1wzecMqSc+PY LIiz88wSgCcvZBbASSnEYnnVVvVaYMmNsjIQy282+ult0hOzVTj98RDyhQjqgQ+v jm82/l1GjdTs3C+EHQH5vP7UP6c9NIiToh2lEngCKigqNK/yvE+VY5bZq1oecX6E LkWG9mAEfaazSHMrHrKc3X8j+UJoWBiNkM0/SV/IdNfO1Vy5L1tsN049iCeDMZn0 zQIDAQAB -----END PUBLIC KEY----- **************************** * Begin PatchSolution0 * **************************** @+0x02d5afc2 Previous: +0x0000000002d5afc0 0a 00 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 ..-----BEGIN PUB +0x0000000002d5afd0 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 00 4d 49 49 LIC KEY-----.MII ... ... +0x0000000002d5b170 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d -END PUBLIC KEY- +0x0000000002d5b180 2d 2d 2d 2d 00 46 41 00 2f 55 73 65 72 73 2f 25 ----.FA./Users/% After: +0x0000000002d5afc0 0a 00 2d 2d 2d 2d 2d 42 45 47 49 4e 20 50 55 42 ..-----BEGIN PUB +0x0000000002d5afd0 4c 49 43 20 4b 45 59 2d 2d 2d 2d 2d 00 4d 49 49 LIC KEY-----.MII +0x0000000002d5afe0 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 39 77 30 BIjANBgkqhkiG9w0 ... ... +0x0000000002d5b170 2d 45 4e 44 20 50 55 42 4c 49 43 20 4b 45 59 2d -END PUBLIC KEY- +0x0000000002d5b180 2d 2d 2d 2d 00 46 41 00 2f 55 73 65 72 73 2f 25 ----.FA./Users/% **************************** * Begin PatchSolution2 * **************************** @+0x02ef1a90 Previous: +0x0000000002ef1a90 42 49 6a 57 79 6f 65 52 52 30 4e 42 67 6b 71 6e BIjWyoeRR0NBgkqn +0x0000000002ef1aa0 44 5a 57 78 43 67 4b 43 45 41 77 31 64 71 46 33 DZWxCgKCEAw1dqF3 +0x0000000002ef1ab0 44 54 76 4f 42 39 31 5a 48 77 65 63 4a 59 46 72 DTvOB91ZHwecJYFr ... ... +0x0000000002ef1ee0 45 4b 4c 32 76 4a 4b 64 4a 00 00 00 04 00 00 00 EKL2vJKdJ....... After: +0x0000000002ef1a90 4d 49 49 42 49 6a 41 4e 42 67 6b 71 68 6b 69 47 MIIBIjANBgkqhkiG +0x0000000002ef1aa0 39 77 30 42 41 51 45 46 41 41 4f 43 41 51 38 41 9w0BAQEFAAOCAQ8A +0x0000000002ef1ab0 4d 49 49 42 43 67 4b 43 41 51 45 41 70 59 68 39 MIIBCgKCAQEApYh9 ... ... +0x0000000002ef1ee0 45 4b 4c 32 76 4a 4b 64 4a 00 00 00 04 00 00 00 EKL2vJKdJ....... @+0x00f7113c Previous: +0x0000000000f71130 6b 01 48 89 df e8 c2 ae 6b 01 0f 0b 55 48 89 e5 k.H.....k...UH.. +0x0000000000f71140 41 57 41 56 53 48 83 ec 48 c6 45 e5 01 31 c0 88 AWAVSH..H.E..1.. +0x0000000000f71150 45 e6 48 89 fb 88 45 e7 0f 57 c0 48 8d 7d a0 0f E.H...E..W.H.}.. +0x0000000000f71160 29 07 48 c7 47 10 00 00 00 00 48 8d 35 7b a0 e1 ).H.G.....H.5{.. +0x0000000000f71170 01 e8 ae c5 6b 01 e8 fd f0 00 00 88 45 e5 e8 5b ....k.......E..[ +0x0000000000f71180 f1 00 00 88 45 e6 e8 b9 f1 00 00 88 45 e7 f6 45 ....E.......E..E +0x0000000000f71190 e7 01 0f 85 35 0c 00 00 f6 45 e5 01 75 34 f6 45 ....5....E..u4.E After: +0x0000000000f71130 6b 01 48 89 df e8 c2 ae 6b 01 0f 0b 55 48 89 e5 k.H.....k...UH.. +0x0000000000f71140 41 57 41 56 53 48 83 ec 48 48 89 fb 48 31 c0 48 AWAVSH..HH..H1.H +0x0000000000f71150 89 04 24 48 89 44 24 08 48 89 44 24 10 48 8d 3c ..$H.D$.H.D$.H.< +0x0000000000f71160 24 48 8d 35 28 09 f8 01 e8 b7 c5 6b 01 48 8b 04 $H.5(......k.H.. +0x0000000000f71170 24 48 89 03 48 8b 44 24 08 48 89 43 08 48 8b 44 $H..H.D$.H.C.H.D +0x0000000000f71180 24 10 48 89 43 10 48 89 d8 48 83 c4 48 5b 41 5e $.H.C.H..H..H[A^ +0x0000000000f71190 41 5f 5d c3 35 0c 00 00 f6 45 e5 01 75 34 f6 45 A_].5....E..u4.E MESSAGE: PatchSolution0 has been applied. MESSAGE: PatchSolution2 has been applied. MESSAGE: Patch has been done successfully. Have fun and enjoy~ |
第八步 生成一个自签名的代码签名证书
1 2 3 4 |
打开钥匙访问串 选择创建证书 输入名称“Navicat”,身份类型,证书类型,如下图所示 点击创建 |
第九步 签名
1
|
$ codesign -f -s "Navicat" /Applications/Navicat\ Premium.app
|
激活
接下来,打开 Terminal.app
,并定位到 navicat-keygen/bin
文件夹
1
|
$ ./navicat-keygen ../navicat-keygen/pri.key
|
注意:接下来你会被要求输入 Navicat 的语言版本,然后得到一个 序列号
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 |
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)> 1 (Input major version number, range: 0 ~ 15, default: 12)> 12 Serial number: NAVH-FCL4-9CQT-M3XB Your name: |
你可以使用这个 序列号
暂时激活 Navicat
同时 keygen 会要求你输入 用户名
和 组织名
。直接填写,之后你会被要求填写你得到的 请求码
。注意此时 不要关闭 Terminal
.
断开网络,打开 Navicat Premium。找到注册按钮并点击
在弹出的窗口中填入 keygen 给你的序列号。然后点击激活按钮
一般来说在线激活肯定会失败,这时候 Navicat 会询问你是否手动激活,点击手动激活
在手动激活窗口你会得到一个请求码,复制它并把它粘贴到 keygen 里。最后别忘了连按至少两下回车结束输入。
如果不出意外,你会得到一个看似用 Base64 编码的 激活码。直接复制它,并把它粘贴到Navicat的手动激活窗口,最后点激活按钮。如果没什么意外的话应该能成功激活。
破解完成
免责声明
本教程仅供学习交流使用,如作他用所承受的法律责任一概与作者无关。
如长期使用,请支持正版,点击 购买 Navicat
暂无评论内容