説明なし

Double Sine 00e80bfe88 Use native API instead of filesystem 4 年 前
common 28d24ed495 Refactor code 4 年 前
example 5dba642a1f Update readme 4 年 前
navicat-keygen 28d24ed495 Refactor code 4 年 前
navicat-patcher 00e80bfe88 Use native API instead of filesystem 4 年 前
.gitignore 28d24ed495 Refactor code 4 年 前
HOW_DOES_IT_WORK.md 88ccb398a0 Refactor code 5 年 前
HOW_DOES_IT_WORK.zh-CN.md 88ccb398a0 Refactor code 5 年 前
LICENSE 5adc56499e Upload project. 6 年 前
Makefile 944b396678 Add solution3 4 年 前
README.md 5dba642a1f Update readme 4 年 前
README.zh-CN.md 5dba642a1f Update readme 4 年 前

README.md

Navicat Keygen

中文版README

This repository will tell you how Navicat offline activation works.

How does it work?

NOTICE: This keygen only supports Navicat Premium.

1. How to build

  • Before you build keygen, you should make sure you have following libs:
  openssl
  capstone
  keystone
  rapidjson
  libplist

You can install them by

  $ brew install openssl
  $ brew install capstone
  $ brew install keystone
  $ brew install rapidjson
  $ brew install libplist
  • Clone mac branch and build keygen and patcher:
  $ git clone -b mac --single-branch https://github.com/DoubleLabyrinth/navicat-keygen.git
  $ cd navicat-keygen
  $ make all

You will see two executable files in bin/ directory:

  $ ls bin/
  navicat-keygen    navicat-patcher

2. How to Use

  1. Build keygen and patcher. And open Navicat Premium AT LEAST ONCE!!!

  2. Backup all of your saved database connection configurations (with password).

  3. Remove all connections, if have, that Navicat saved in Keychain Access.app.

You can find them by search with keyword navicat in Keychain Access.app.

  1. Use navicat-patcher to replace Navicat Activation Public Key.
   Usage:
       navicat-patcher [--dry-run] <Navicat installation path> [RSA-2048 Private Key File]

           [--dry-run]                   Run patcher without applying any patches.
                                         This parameter is optional.

           <Navicat installation path>   Path to `Navicat Premium.app`.
                                         Example:
                                             /Applications/Navicat\ Premium.app/
                                         This parameter must be specified.

           [RSA-2048 Private Key File]   Path to a PEM-format RSA-2048 private key file.
                                         This parameter is optional.

Example:

   $ ./navicat-patcher /Applications/Navicat\ Premium.app/

It has been tested on Navicat Premium 15.0.4 English For Mac version.

An example of output can be found here

  • For Navicat Premium version < 12.0.24 ONLY:

    navicat-patcher will abort and won't apply any patch.

    You should use openssl to generate RegPrivateKey.pem and rpk file.

     $ openssl genrsa -out RegPrivateKey.pem 2048
     $ openssl rsa -in RegPrivateKey.pem -pubout -out rpk
    

    Then replace

     /Applications/Navicat Premium.app/Contents/Resources/rpk
    

    by rpk you just generated.

  1. Generate a self-signed code-sign certificate and always trust it.

Then use codesign to re-sign libcc-premium.dylib, if have, and Navicat Premium.app.

  • If you Navicat Premium version >= 15.0.0,

    you must re-sign libcc-premium.dylib before re-sign Navicat Premium.app.

     $ codesign -f -s "Your self-signed code-sign certificate name" <path to Navicat Premium.app>/Contents/Frameworks/libcc-premium.dylib
    
   $ codesign -f -s "Your self-signed code-sign certificate name" <path to Navicat Premium.app>

NOTICE:

"Your self-signed code-sign certificate name" is the name of your certificate in Keychain Access.app, not path.

Example:

   $ codesign -f -s "foobar" /Applications/Navicat\ Premium.app/Contents/Frameworks/libcc-premium.dylib
   $ codesign -f -s "foobar" /Applications/Navicat\ Premium.app/
  1. Then use navicat-keygen to generate snKey and Activation Code.
   Usage:
       navicat-keygen [--adv] <RSA-2048 Private Key File>

       [--adv]                       Enable advance mode.
                                     This parameter is optional.

       <RSA-2048 Private Key File>   A path to an RSA-2048 private key file.
                                     This parameter must be specified.

   Example:
       ./navicat-keygen ./RegPrivateKey.pem

Example:

   $ ./navicat-keygen ./RegPrivateKey.pem

You will be asked to select Navicat language and give major version number. After that an randomly generated snKey will be given.

   $ ./navicat-keygen ./RegPrivateKey.pem
   **********************************************************
   *       Navicat Keygen (macOS) by @DoubleLabyrinth       *
   *                   Version: 5.0                         *
   **********************************************************

   [*] Select product 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: 15)> 15

   [*] Serial number:
   NAVD-ZM3Z-BK6L-JUWD

   [*] Your name:

You can use this snKey to activate your Navicat preliminarily.

Then you will be asked to input Your name and Your organization. Just set them whatever you want, but not too long.

   [*] Your name: DoubleLabyrinth
   [*] Your organization: DoubleLabyrinth

   [*] Input request code in Base64: (Double press ENTER to end)

After that, you will be asked to input request code. Now DO NOT CLOSE KEYGEN.

  1. Disconnect your network and open Navicat Premium.

Find and click Registration.

Fill license key by Serial number that the keygen gave and click Activate.

  1. Generally online activation will fail and Navicat will ask you do Manual Activation, just choose it.

  2. Copy your request code and paste it in the keygen. Input empty line to tell the keygen that your input ends.

   [*] Input request code in Base64: (Double press ENTER to end)
   IF+tuUn0WcDqJ0tthu/UwOxCZAz5/TqGrSG/9y5DcYJ0/5kfu11Tu314T/pUFK7WPzbnK2MFQ9kb9VytT4T10fXHKoHVYRBtOTYDQqCN2lwnmTty1i1SwUVO+CAqXasqqnss/r4ytbQUpsr2EmBqMQeXERhH72winnhfHkXoWgIHhYXgcvRBagKI1a48c8vJTjTB1eYHmO+DQI6orJoQ65ClqVSkdgKwyhAtSv0yMeKQX45UEX5hQCu9rrgqRN13f7mKWXhGZXkYrk4VZaHdfsr0o50zmU/ZhKLdFqRjrLzt4JY41+AIjAxtHd5g/LAUwBfUdfy9KdHjaeXCxdueXQ==

   [*] Request Info:
   {"K":"NAVDZM3ZBK6LJUWD", "DI":"78BC84E24E18EFCE1DF7", "P":"MAC"}

   [*] Response Info:
   {"K":"NAVDZM3ZBK6LJUWD","DI":"78BC84E24E18EFCE1DF7","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1576005483}

   [*] Activation Code:
   dJldt4pru2xBtqWiYCdT8s8H0vQ8xe8wI/f3/BLzSf7m3gevql9Z9CfkdMpuCJg35YPYTDHBwYYLnU6heO0bmvnVAF1U6ZKtWXpAAi+w6tGjeV64uachGI+/xb5Q5bQzD0V44PGYmL6cYULYjNtndMAgzhWGFzgsjGtaJOSczWC2OI1R1gAGh+l+pFdx37+VMXtfUtwv7V+qypj5CrzIULsUdh9U5JHXkdVSK6y+8bEeplYLwvQR6Cnavra0WUAP0hSg7khjy+mPiCuXSMwH1EphFqXscp1WUGjkms7pSK/aPtCoxWcJeK3SrgAVberBn2+rqaI1PBBh5DTctDy2SQ==
  1. Finally, you will get Activation Code which looks like a Base64 string.

    Just copy it and paste it in Navicat Manual Activation window, then click Activate.

    If nothing wrong, activation should be done successfully.