Double Sine 00e80bfe88 Use native API instead of filesystem | %!s(int64=4) %!d(string=hai) anos | |
---|---|---|
common | %!s(int64=5) %!d(string=hai) anos | |
example | %!s(int64=5) %!d(string=hai) anos | |
navicat-keygen | %!s(int64=5) %!d(string=hai) anos | |
navicat-patcher | %!s(int64=4) %!d(string=hai) anos | |
.gitignore | %!s(int64=5) %!d(string=hai) anos | |
HOW_DOES_IT_WORK.md | %!s(int64=6) %!d(string=hai) anos | |
HOW_DOES_IT_WORK.zh-CN.md | %!s(int64=6) %!d(string=hai) anos | |
LICENSE | %!s(int64=7) %!d(string=hai) anos | |
Makefile | %!s(int64=5) %!d(string=hai) anos | |
README.md | %!s(int64=5) %!d(string=hai) anos | |
README.zh-CN.md | %!s(int64=5) %!d(string=hai) anos |
This repository will tell you how Navicat offline activation works.
NOTICE: This keygen only supports Navicat Premium.
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
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
Build keygen and patcher. And open Navicat Premium AT LEAST ONCE!!!
Backup all of your saved database connection configurations (with password).
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
.
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.
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/
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.
Find and click Registration
.
Fill license key by Serial number that the keygen gave and click Activate
.
Generally online activation will fail and Navicat will ask you do Manual Activation
, just choose it.
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==
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.