Navicat Premium 12.1.15 for Mac 破解教程

前言

本人之前一直在 Windows 系统下使用 Navicat Premium 11.2 的破解版本,一直没有更新过。换了 OSX 系统之后,想着继续使用 Navicat Premium,体验了最新版之后,感觉界面更加清爽,便想在 Mac 电脑上进行破解。

正文

下载

先去官网下载最新的 Navicat Premium,点击 立即试用 即可下载。

安装

“傻瓜式”安装没啥可说的,千万不要在破解前打开。

破解

开始的时候,网上找了好久,好多破解方法都很久了,试了几个都激活失败。最后快要绝望时,在 Github 上找到了一个开源工具 navicat-keygen,当时第一感觉就是破解有望了。话不多说,直接开干。

破解步骤

  1. 克隆项目

    1
    $ git clone git@github.com:DoubleLabyrinth/navicat-keygen.git
  2. 进入项目目录,切换分支到 mac 分支

    1
    2
    $ cd navicat-keygen
    $ git checkout mac
  3. 编译 navicat-keygennavicat-patcher

    1
    $ make all
    1
    2
    3
    4
    // 编译输出
    g++ -std=c++17 -O2 -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -lcrypto -lcapstone -lkeystone ./navicat-patcher/CapstoneDisassembler.cpp ./navicat-patcher/KeystoneAssembler.cpp ./navicat-patcher/PrintMemory.cpp ./navicat-patcher/PatchSolution0.cpp ./navicat-patcher/PatchSolution1.cpp ./navicat-patcher/PatchSolution2.cpp ./navicat-patcher/main.cpp -o ./bin/navicat-patcher
    g++ -std=c++11 -O2 -I/usr/local/opt/openssl/include -L/usr/local/opt/openssl/lib -lcrypto ./navicat-keygen/Helper.cpp ./navicat-keygen/main.cpp -o ./bin/navicat-keygen
    Done.
  4. 备份 /Applications/Navicat Premium.app/Contents/MacOS/Navicat Premium 文件,以及 Navicat 中所有的数据库连接配置信息(包括密码)。删除 keychain.app 中所有由 Navicat 保存的密码。

  5. 运行 navicat-patcher

    1
    2
    $ cd bin
    $ ./navicat-patcher /Applications/Navicat\ Premium.app/Contents/MacOS/Navicat\ Premium
    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
    // 运行输出
    ***************************************************
    * Navicat Patcher by @DoubleLabyrinth *
    * Version: 3.0 *
    ***************************************************

    Press Enter to continue or Ctrl + C to abort.

    PatchSolution0 ...... Ready to apply.
    Info: Keyword offset = +0x02d3c48c
    PatchSolution1 ...... Omitted.
    PatchSolution2 ...... Ready to apply.
    Info: Target function offset = +0x00f650a2
    Info: Keyword offset = +0x02ed1bc8
    Info: std::string::append(const char*) offset = +02613e44
    MESSAGE: Generating new RSA private key, it may take a long time.
    MESSAGE: New RSA private key has been saved to RegPrivateKey.pem.

    Your RSA public key:
    -----BEGIN PUBLIC KEY-----
    MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA5HCgs+gZHYKGpczi1eN5
    RQK+vJueDg2YBSx/HzIyqYVZ5U6In3eTyQLmKik3aGCsBvFrofQVaWe+Q5DO/hvq
    dXw25FFqtW5wSylLYHiIxd5mllti4m8sxqn7qWniGZSBHkbmDl/WeRXBDTzpeKH3
    P5bPpKbkPhkHd5U+hnXfLNAxWjzQKQKjevZAqgTmIRjxwDkevqG7DYUFYN16ejj7
    oCuTkgEekkAVwA7k1irlUoNLx+RUS0vbsYwz4HYPfrC1CGer8pwuDI42cc5beCSB
    XUsfh5pvmk4ZGImYpq3M9D8Xj9PDExjYw47KFa6JjmFJY6m+HXudJOrRVI7v5tSj
    cQIDAQAB
    -----END PUBLIC KEY-----

    ......
    ......

    MESSAGE: PatchSolution0 has been applied.
    MESSAGE: PatchSolution2 has been applied.
    MESSAGE: Patch has been done successfully. Have fun and enjoy~
  1. 生成一个自签名代码证书

    • 打开钥匙访问串
    • 选择创建证书
    • 输入名称 “navicat”,身份类型,证书类型,如下图所示
    • 点击创建

    WX20190306-001155@2x

WX20190306-001601@2x

WX20190306-001617@2x

  1. 然后使用 codesign 命令对 Navicat Premium.app 进行重签名。这一步至关重要。

    1
    $ codesign -f -s "navicat" /Applications/Navicat\ Premium.app
  2. 进入终端,并进入 navicat-keygen 目录执行如下命令

    1
    $ ./navicat-keygen ./RegPrivateKey.pem

    接下来你会被要求输入Navicat 的语言版本,然后得到一个序列号,同时 keygen 会要求你输入用户名和组织名。直接填写之后,你会被要求填写你得到的请求码。注意此时不要关闭终端。

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    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:
    XXXX-XXXX-XXXX-XXXX

    Your name: test
    Your organization: test

    Input request code (in Base64), input empty line to end:
  3. 断网 ,打开 Navicat Premium。找到注册按钮并点击,在弹出的窗口中填入 keygen 给你的序列号。然后点击激活按钮。

  4. 一般来说在线激活肯定会失败,这时候 Navicat 会询问你是否手动激活,直接选是

  5. 在手动激活窗口你会得到一个请求码,复制它并把它粘贴到 keygen 里。最后别忘了连按至少两下回车结束输入。

    1
    2
    3
    4
    5
    6
    7
    8
    BmwG6a3HsaKsUvIHWJo/WlxVqT2QU9v5SXO6RX6UJ27BlEZouI0mH0rjajr1QtGzKPvwVlINqTcg
    Q5tLh69deKE73aLtL5RddQ8shYIcS44EHt+6BH8bwn+MP2U35y/XoPMto4HN9dBBquJlsB5zGqko
    EXPdprPDXpANjHrZvIKLshSSRDWSOvIBUDvDW4bR8P2U89AliAa317UGRdYwCKCbd4ZxVz9nSgbC
    ttPbO/vThQ1A4zbVQRa9UlvzDET4FnUsB/kSpX6iAtBt87V3mk1uEVDxDpZj7SUeigI1Es6dHa7I
    MGXG/BFGPt819mxflQwA1f4kiZtcLrUgkJvwkA==

    Activation Code:
    UoAh10ECUfcOAgCOWY60w+WWQ+qWpxgg5gteoHOvIcAnk+7RIW/xkz03UzZyGSlzqFZOxcJVXqafsO9Y45oNii0DtF68U1LJvmKWd68Gt8Vhx/EAygWQtbjH79kNgYg7R4EFJ2y9E4PNwn59wgIqLEs
  6. 如果不出意外,你会得到一个看似用 Base64 编码的激活码。直接复制它,并把它粘贴到 Navicat 的手动激活窗口,最后点激活按钮。如果没什么意外的话应该能成功激活。

谢谢,有问题可以咨询我。