update docs
This commit is contained in:
parent
e62a8c5865
commit
ccdc493808
15
README.md
15
README.md
@ -4,19 +4,19 @@
|
|||||||
|
|
||||||
This repository will tell you how Navicat offline activation works.
|
This repository will tell you how Navicat offline activation works.
|
||||||
|
|
||||||
Previous code is archived in [`windows-archived`](https://github.com/DoubleLabyrinth/navicat-keygen/tree/windows-archived) branch for the reason that previous code contains 3rd binary libraries and it gets quite big :-(
|
Previous previous code is archived in [`windows-archived`](https://notabug.org/doublesine/navicat-keygen/src/windows-archived) branch for the reason that previous previous code contains 3rd binary libraries and it gets quite big :-(
|
||||||
|
|
||||||
|
Previous code is archived in [`windows-archived2`](https://notabug.org/doublesine/navicat-keygen/src/windows-archived2) branch for the reason that Navicat has come to version 16.x.x which I think should be a milestone and I decide to obsolete previous code and rewrite new one.
|
||||||
|
|
||||||
|
When you git-clone this repo, please add `--single-branch` flag so that archived branches won't be cloned to your computer, which saves your time and disk.
|
||||||
When you git-clone this repo, please add `--single-branch` flag so that archived branch won't be cloned to your computer, which saves your time and disk.
|
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ git clone -b windows --single-branch https://github.com/DoubleLabyrinth/navicat-keygen.git
|
$ git clone -b windows --single-branch https://notabug.org/doublesine/navicat-keygen.git
|
||||||
```
|
```
|
||||||
|
|
||||||
## 1. How does it work?
|
## 1. How does it work?
|
||||||
|
|
||||||
see [here](doc/how-does-it-work.md)
|
see [here](doc/how-does-it-work.md). (WATING TO BE UPDATED)
|
||||||
|
|
||||||
## 2. How to build?
|
## 2. How to build?
|
||||||
|
|
||||||
@ -24,9 +24,7 @@ see [here](doc/how-to-build.md).
|
|||||||
|
|
||||||
## 3. How to use?
|
## 3. How to use?
|
||||||
|
|
||||||
For Windows users, see [here](doc/how-to-use.windows.md).
|
see [here](doc/how-to-use.windows.md).
|
||||||
|
|
||||||
For Linux users, see [here](doc/how-to-use.linux.md).
|
|
||||||
|
|
||||||
## 4. Contributor
|
## 4. Contributor
|
||||||
|
|
||||||
@ -35,4 +33,3 @@ For Linux users, see [here](doc/how-to-use.linux.md).
|
|||||||
* dragonflylee
|
* dragonflylee
|
||||||
|
|
||||||
* zenuo
|
* zenuo
|
||||||
|
|
||||||
|
|||||||
@ -1,13 +1,15 @@
|
|||||||
# Navicat Keygen
|
# navicat-keygen for windows
|
||||||
|
|
||||||
这份repo将会告诉你Navicat是怎么完成离线激活的。
|
这份repo将会告诉你Navicat是怎么完成离线激活的。
|
||||||
|
|
||||||
由于历史代码包含第三方二进制库,且大小较大,故决定将该项目的历史代码归档到 [`windows-archived`](https://github.com/DoubleLabyrinth/navicat-keygen/tree/windows-archived) 分支。
|
第一次归档的代码位于 [`windows-archived`](https://notabug.org/doublesine/navicat-keygen/src/windows-archived) 分支。归档原因:包含第三方二进制库,项目过大。
|
||||||
|
|
||||||
当你clone该仓库的时候,请使用 `--single-branch` 选项,以此避免clone到 `windows-archived` 分支,并且还可以节省你的时间和磁盘空间。
|
第二次归档的代码位于 [`windows-archived2`](https://notabug.org/doublesine/navicat-keygen/src/windows-archived2) 分支。归档原因:Navicat进入16.x.x版本,本项目打算进行重构。
|
||||||
|
|
||||||
|
当你clone该仓库的时候,请使用 `--single-branch` 选项,以此避免clone到已被归档的分支、以及节省你的时间和磁盘空间。
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ git clone -b windows --single-branch https://github.com/DoubleLabyrinth/navicat-keygen.git
|
$ git clone -b windows --single-branch https://notabug.org/doublesine/navicat-keygen.git
|
||||||
```
|
```
|
||||||
|
|
||||||
## 1. 注册机是怎么工作的?
|
## 1. 注册机是怎么工作的?
|
||||||
@ -20,9 +22,7 @@ $ git clone -b windows --single-branch https://github.com/DoubleLabyrinth/navica
|
|||||||
|
|
||||||
## 3. 如何使用这个注册机?
|
## 3. 如何使用这个注册机?
|
||||||
|
|
||||||
针对 Windows 用户,请见[这里](doc/how-to-use.windows.zh-CN.md)。
|
见[这里](doc/how-to-use.windows.zh-CN.md)。
|
||||||
|
|
||||||
针对 Linux 用户,请见[这里](doc/how-to-use.linux.zh-CN.md)。
|
|
||||||
|
|
||||||
## 4. 贡献者
|
## 4. 贡献者
|
||||||
|
|
||||||
|
|||||||
@ -1,35 +1,39 @@
|
|||||||
# Navicat Keygen - How to build?
|
# navicat-keygen for windows - How to build?
|
||||||
|
|
||||||
[中文版](how-to-build.zh-CN.md)
|
[中文版](how-to-build.zh-CN.md)
|
||||||
|
|
||||||
## 1. Prerequisites
|
## 1. Prerequisites
|
||||||
|
|
||||||
1. Please make sure that you have __Visual Studio 2019__ or the higher. Because this is a VS2019 project.
|
1. Please make sure that you have __Visual Studio 2022__ or the higher. Because this is a VS2022 project.
|
||||||
|
|
||||||
2. Please make sure you have installed `vcpkg` and the following libraries:
|
2. Please make sure you have installed `vcpkg` and the following libraries:
|
||||||
|
|
||||||
* `capstone[x86]:x64-windows-static`
|
* `fmt:x64-windows-static`
|
||||||
* `capstone[x86]:x86-windows-static`
|
* `fmt:x86-windows-static`
|
||||||
* `keystone:x64-windows-static`
|
* `openssl:x64-windows-static`
|
||||||
* `keystone:x86-windows-static`
|
* `openssl:x86-windows-static`
|
||||||
* `openssl-windows:x64-windows-static`
|
|
||||||
* `openssl-windows:x86-windows-static`
|
|
||||||
* `rapidjson:x64-windows-static`
|
* `rapidjson:x64-windows-static`
|
||||||
* `rapidjson:x86-windows-static`
|
* `rapidjson:x86-windows-static`
|
||||||
|
* `keystone:x64-windows-static`
|
||||||
|
* `keystone:x86-windows-static`
|
||||||
|
* `unicorn:x64-windows-static`
|
||||||
|
* `unicorn:x86-windows-static`
|
||||||
|
|
||||||
is installed.
|
is installed.
|
||||||
|
|
||||||
You can install them by:
|
You can install them by:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ vcpkg install capstone[x86]:x64-windows-static
|
$ vcpkg install fmt:x64-windows-static
|
||||||
$ vcpkg install capstone[x86]:x86-windows-static
|
$ vcpkg install fmt:x86-windows-static
|
||||||
$ vcpkg install keystone:x64-windows-static
|
$ vcpkg install openssl:x64-windows-static
|
||||||
$ vcpkg install keystone:x86-windows-static
|
$ vcpkg install openssl:x86-windows-static
|
||||||
$ vcpkg install openssl-windows:x64-windows-static
|
|
||||||
$ vcpkg install openssl-windows:x86-windows-static
|
|
||||||
$ vcpkg install rapidjson:x64-windows-static
|
$ vcpkg install rapidjson:x64-windows-static
|
||||||
$ vcpkg install rapidjson:x86-windows-static
|
$ vcpkg install rapidjson:x86-windows-static
|
||||||
|
$ vcpkg install keystone:x64-windows-static
|
||||||
|
$ vcpkg install keystone:x86-windows-static
|
||||||
|
$ vcpkg install unicorn:x64-windows-static
|
||||||
|
$ vcpkg install unicorn:x86-windows-static
|
||||||
```
|
```
|
||||||
|
|
||||||
3. Your `vcpkg` has been integrated into your __Visual Studio__, which means you have run
|
3. Your `vcpkg` has been integrated into your __Visual Studio__, which means you have run
|
||||||
|
|||||||
@ -1,31 +1,35 @@
|
|||||||
# Navicat Keygen - 如何编译?
|
# navicat-keygen for windows - 如何编译?
|
||||||
|
|
||||||
## 1. 前提条件
|
## 1. 前提条件
|
||||||
|
|
||||||
1. 请确保你有 __Visual Studio 2019__ 或者更高版本。因为这是一个VS2019项目。
|
1. 请确保你有 __Visual Studio 2022__ 或者更高版本。因为这是一个VS2022项目。
|
||||||
|
|
||||||
2. 请确保你安装了 `vcpkg` 以及下面几个库:
|
2. 请确保你安装了 `vcpkg` 以及下面几个库:
|
||||||
|
|
||||||
* `capstone[x86]:x64-windows-static`
|
* `fmt:x64-windows-static`
|
||||||
* `capstone[x86]:x86-windows-static`
|
* `fmt:x86-windows-static`
|
||||||
* `keystone:x64-windows-static`
|
* `openssl:x64-windows-static`
|
||||||
* `keystone:x86-windows-static`
|
* `openssl:x86-windows-static`
|
||||||
* `openssl-windows:x64-windows-static`
|
|
||||||
* `openssl-windows:x86-windows-static`
|
|
||||||
* `rapidjson:x64-windows-static`
|
* `rapidjson:x64-windows-static`
|
||||||
* `rapidjson:x86-windows-static`
|
* `rapidjson:x86-windows-static`
|
||||||
|
* `keystone:x64-windows-static`
|
||||||
|
* `keystone:x86-windows-static`
|
||||||
|
* `unicorn:x64-windows-static`
|
||||||
|
* `unicorn:x86-windows-static`
|
||||||
|
|
||||||
你可以通过下面的命令来安装它们:
|
你可以通过下面的命令来安装它们:
|
||||||
|
|
||||||
```console
|
```console
|
||||||
$ vcpkg install capstone[x86]:x64-windows-static
|
$ vcpkg install fmt:x64-windows-static
|
||||||
$ vcpkg install capstone[x86]:x86-windows-static
|
$ vcpkg install fmt:x86-windows-static
|
||||||
$ vcpkg install keystone:x64-windows-static
|
$ vcpkg install openssl:x64-windows-static
|
||||||
$ vcpkg install keystone:x86-windows-static
|
$ vcpkg install openssl:x86-windows-static
|
||||||
$ vcpkg install openssl-windows:x64-windows-static
|
|
||||||
$ vcpkg install openssl-windows:x86-windows-static
|
|
||||||
$ vcpkg install rapidjson:x64-windows-static
|
$ vcpkg install rapidjson:x64-windows-static
|
||||||
$ vcpkg install rapidjson:x86-windows-static
|
$ vcpkg install rapidjson:x86-windows-static
|
||||||
|
$ vcpkg install keystone:x64-windows-static
|
||||||
|
$ vcpkg install keystone:x86-windows-static
|
||||||
|
$ vcpkg install unicorn:x64-windows-static
|
||||||
|
$ vcpkg install unicorn:x86-windows-static
|
||||||
```
|
```
|
||||||
|
|
||||||
3. 你的 `vcpkg` 已经和你的 __Visual Studio__ 集成了,即你曾成功运行了:
|
3. 你的 `vcpkg` 已经和你的 __Visual Studio__ 集成了,即你曾成功运行了:
|
||||||
|
|||||||
@ -1,257 +0,0 @@
|
|||||||
# Navicat Keygen - How to use? (Linux)
|
|
||||||
|
|
||||||
[中文版](how-to-use.linux.zh-CN.md)
|
|
||||||
|
|
||||||
* Maintainer(s): zenuo, DoubleLabyrinth
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
> You can download [Screen recoding](image/Screen_recording.mp4) for references.
|
|
||||||
|
|
||||||
1. Switch to the path you extracted the installation package. Run Navicat, for initialization:
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ cd ~/navicat121_premium_en_x64
|
|
||||||
$ ./start_navicat
|
|
||||||
```
|
|
||||||
|
|
||||||
When running for the first time, you will be prompted with the following two windows, click "Cancel" to:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
Until the `Registration` window appears, select `Trial`, close Navicat after loading is complete, and execute `Step 2`:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2. Download the latest release [from here](https://github.com/DoubleLabyrinth/navicat-keygen/releases), and extract:
|
|
||||||
|
|
||||||
> The 64-bit executable file is downloaded here. If you use 32-bit, please download the corresponding version.
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/latest/download/navicat-keygen-for-x64.zip
|
|
||||||
$ unzip navicat-keygen-for-x64.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Download `navicat-pacther.sh` and `navicat-keygen.sh`:
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ curl -O -L https://raw.githubusercontent.com/DoubleLabyrinth/navicat-keygen/windows/bash/navicat-patcher.sh
|
|
||||||
$ chmod +x navicat-patcher.sh
|
|
||||||
$ curl -O -L https://raw.githubusercontent.com/DoubleLabyrinth/navicat-keygen/windows/bash/navicat-keygen.sh
|
|
||||||
$ chmod +x navicat-keygen.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
4. Use `navicat-patcher.exe` to replace __Navicat Activation Public Key__ that is stored in `navicat.exe` or `libcc.dll`.
|
|
||||||
|
|
||||||
> Please turn off `Navicat` when performing this step.
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ ./navicat-patcher.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
It has been tested on __Navicat Premium 12.1.22 Simplified Chinese version__. The following is an example of output:
|
|
||||||
|
|
||||||
```
|
|
||||||
***************************************************
|
|
||||||
* Navicat Patcher by @DoubleLabyrinth *
|
|
||||||
* Version: 4.0 *
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
Press Enter to continue or Ctrl + C to abort.
|
|
||||||
|
|
||||||
[+] Try to open Navicat.exe ... Ok!
|
|
||||||
[+] Try to open libcc.dll ... Ok!
|
|
||||||
|
|
||||||
[+] PatchSolution0 ...... Ready to apply
|
|
||||||
[*] Patch offset = +0x029bccd8
|
|
||||||
[+] PatchSolution1 ...... Ready to apply
|
|
||||||
[*] [0] Patch offset = +0x02206c00
|
|
||||||
[*] [1] Patch offset = +0x0074c489
|
|
||||||
[*] [2] Patch offset = +0x02206910
|
|
||||||
[*] [3] Patch offset = +0x0074c46f
|
|
||||||
[*] [4] Patch offset = +0x02206904
|
|
||||||
[-] PatchSolution2 ...... Omitted
|
|
||||||
[+] PatchSolution3 ...... Ready to apply
|
|
||||||
[*] [ 0] Instruction RVA = 0x016539c8, Patch Offset = +0x023e64d4
|
|
||||||
[*] [ 1] Instruction RVA = 0x01653a1f, Patch Offset = +0x01652e23
|
|
||||||
[*] [ 2] Instruction RVA = 0x01653a25, Patch Offset = +0x01652e28
|
|
||||||
[*] [ 3] Instruction RVA = 0x01653a8c, Patch Offset = +0x01652e8e
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] [108] Instruction RVA = 0x016604e1, Patch Offset = +0x023e66d8
|
|
||||||
[*] [109] Instruction RVA = 0x01660518, Patch Offset = +0x0165f91c
|
|
||||||
[*] [110] Instruction RVA = 0x0166051e, Patch Offset = +0x0165f921
|
|
||||||
|
|
||||||
[*] PatchSolution0 is suppressed in order to keep digital signature valid.
|
|
||||||
|
|
||||||
[*] Generating new RSA private key, it may take a long time...
|
|
||||||
[*] Your RSA public key:
|
|
||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hV66HgU4LrKXWW6O7bK
|
|
||||||
AN6ZTr5W+Mq8ClTQ+Pc+BdhLu6rww55kVq7OXKGpvx0G4eTafYMGrrBETgDSTaMq
|
|
||||||
Bx+8bZbGBWh2LtNfqU+xUrpHHBSz0ByBc3iTEzzthJl+Fzf8suDX2lWYIc/Ym/eW
|
|
||||||
YtxdJ7xOzLb68z4N0zVmA0jFX2FOm75DRYgKqy4SGixapfucL9dVaWVLTUdbrVdj
|
|
||||||
4LX78t4t5ykbYoThrat4yuLvj/BxLaQ6ivKD+ScfHdtCoY+NA5jmBoUfBq3Q1SXB
|
|
||||||
iNaoXctbi0/H3MiPu0cRojryAocooF89yFm5/mNnzWGAYPr6DvBI8CDTZmjaQ4oC
|
|
||||||
aQIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution1 *
|
|
||||||
*******************************************************
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206c00 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
|
|
||||||
+0x0000000002206c10 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
|
|
||||||
+0x0000000002206c20 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206c00 33 43 32 39 30 39 35 38 33 34 38 41 42 43 35 39 3C290958348ABC59
|
|
||||||
+0x0000000002206c10 36 44 39 30 43 45 45 38 31 36 42 36 39 38 34 44 6D90CEE816B6984D
|
|
||||||
+0x0000000002206c20 35 32 35 34 37 45 30 32 34 31 42 36 42 43 31 41 52547E0241B6BC1A
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c480 fe ea bc 01 ....
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c480 08 00 00 00 ....
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206910 45 31 43 45 44 30 39 42 39 43 32 31 38 36 42 46 E1CED09B9C2186BF
|
|
||||||
+0x0000000002206920 37 31 41 37 30 43 30 46 45 32 46 31 45 30 41 45 71A70C0FE2F1E0AE
|
|
||||||
+0x0000000002206930 46 33 42 44 36 42 37 35 32 37 37 41 41 42 32 30 F3BD6B75277AAB20
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206910 41 33 39 42 41 36 43 34 31 36 33 32 35 30 46 45 A39BA6C4163250FE
|
|
||||||
+0x0000000002206920 42 32 41 39 31 41 34 32 46 44 42 46 30 41 32 31 B2A91A42FDBF0A21
|
|
||||||
+0x0000000002206930 33 34 46 34 36 44 43 45 34 30 42 46 41 42 33 35 34F46DCE40BFAB35
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c460 59 Y
|
|
||||||
+0x000000000074c470 08 01 00 ...
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c460 06 .
|
|
||||||
+0x000000000074c470 00 00 00 ...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206900 39 32 39 33 33 92933
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206900 42 34 34 33 38 B4438
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution3 *
|
|
||||||
*******************************************************
|
|
||||||
[*] +023e64d4: 4d 49 49 ---> 4d 49 49
|
|
||||||
[*] +01652e23: 42 49 ---> 42 49
|
|
||||||
[*] +01652e28: 6a ---> 6a
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] +023e66d8: 77 49 44 41 ---> 51 49 44 41
|
|
||||||
[*] +0165f91c: 51 41 ---> 51 41
|
|
||||||
[*] +0165f921: 42 ---> 42
|
|
||||||
|
|
||||||
[*] New RSA-2048 private key has been saved to
|
|
||||||
C:\Users\DoubleSine\github.com\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
|
||||||
* HAVE FUN AND ENJOY~ *
|
|
||||||
*******************************************************
|
|
||||||
```
|
|
||||||
|
|
||||||
5. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ ./navicat-keygen.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
You will be asked to select Navicat product, language and input major version number. After that an randomly generated __snKey__ will be given.
|
|
||||||
|
|
||||||
```
|
|
||||||
Select Navicat product:
|
|
||||||
0. DataModeler
|
|
||||||
1. Premium
|
|
||||||
2. MySQL
|
|
||||||
3. PostgreSQL
|
|
||||||
4. Oracle
|
|
||||||
5. SQLServer
|
|
||||||
6. SQLite
|
|
||||||
7. MariaDB
|
|
||||||
8. MongoDB
|
|
||||||
9. ReportViewer
|
|
||||||
|
|
||||||
(Input index)> 1
|
|
||||||
|
|
||||||
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)> 1
|
|
||||||
|
|
||||||
(Input major version number, range: 0 ~ 15, default: 12)> 12
|
|
||||||
|
|
||||||
Serial number:
|
|
||||||
NAVO-2ORP-IN5A-GQEE
|
|
||||||
|
|
||||||
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), input empty line to end:
|
|
||||||
```
|
|
||||||
|
|
||||||
After that, you will be asked to input the request code. Now __DO NOT CLOSE KEYGEN__.
|
|
||||||
|
|
||||||
6. __Set up__ a invalid proxy. Find and click `Registration`. Fill `Registration Key` by __snKey__ that the keygen gave and click `Activate`.
|
|
||||||
|
|
||||||
7. Online activation will failed and Navicat will ask you do `Manual Activation`, just choose it.
|
|
||||||
|
|
||||||
8. Copy your request code and paste it in the keygen. Input empty line to tell the keygen that your input ends.
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
t2U+0yfE2FfnbjyhCXa0lglZOHu9Ntc3qyGiPbR6xb1QoU63/9BVfdaCq0blwVycXPyT/Vqw5joIKdM5oCRR/afCPM7iRcyhQMAnvqwc+AOKCqayVV+SqKLvtR/AbREI12w++PQ6Ewfs4A8PgB8OJ9G0jKt6Q/iJRblqi2WWw9mwy+YHcYYh3UAfygTnyj/xl+MzRymbY0lkus+6LPtpDecVsFFhM7F32Ee1QPwISko7bAkHOtkt+joPfYDdn9PDGZ4HEmeLvH6UqZCXkzgaAfynB7cQZFEkId8FsW2NGkbpM7wB2Hi3fNFgOIjutTprixTdbpFKn4w6gGc28ve23A==
|
|
||||||
|
|
||||||
Request Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE", "DI":"R91j6WyMhxHznAKSxxxx", "P":"WIN"}
|
|
||||||
|
|
||||||
Response Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE","DI":"R91j6WyMhxHznAKSxxxx","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1547826060}
|
|
||||||
|
|
||||||
License:
|
|
||||||
lRF18o+ZhBphyN0U5kFLHtAAGGXuvhqOcxNuvAk4dJcGeR0ISuw74mQvAfdNjv0T
|
|
||||||
I5NZFzqIJvrzM0XeR88q+3kmZkECuxwwWHP3zzDPhPiylcTV4DoGZ1tfoViUSYQc
|
|
||||||
LgXG0Fl7koZeP61YOKQ8GfX+Xk2ZTM64bYaF7NlhonM+GQUJCCF2JThmrP921t2p
|
|
||||||
b/E5pV6fLOYMM13881ZQcQcltMNVDZn4lzgzKRFFxCQFaTl6fJMHZdYVmICQTHtI
|
|
||||||
sNaym0zduc8/cv34mgJ+7NseXmsEPCdjrZ59wgfPsLhZLXqtfxi5hGWw4NMa3Sb2
|
|
||||||
UI8dzqFzRp/hSDEM0mEqiA==
|
|
||||||
```
|
|
||||||
|
|
||||||
9. 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. Don't forget to close the proxy that we just set up.
|
|
||||||
|
|
||||||
@ -1,255 +0,0 @@
|
|||||||
# Navicat Keygen - 如何使用这个注册机? (Linux)
|
|
||||||
|
|
||||||
* 维护者:zenuo, DoubleLabyrinth
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
> 可下载[录屏文件](image/Screen_recording.mp4)参考
|
|
||||||
|
|
||||||
1. 切换到解压安装包的路径,本示例解压到了 `家目录`,运行Navicat,使其初始化环境:
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ cd ~/navicat121_premium_en_x64
|
|
||||||
$ ./start_navicat
|
|
||||||
```
|
|
||||||
|
|
||||||
首次启动时,会提示如下两个窗口,点击“Cancel”即可:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
直至出现 `Registration` 窗口,选择 `Trial`,待加载完成后关闭Navicat,执行 `步骤2`:
|
|
||||||
|
|
||||||

|
|
||||||
|
|
||||||
2. [从这里](https://github.com/DoubleLabyrinth/navicat-keygen/releases)下载最新的release,并且解压:
|
|
||||||
|
|
||||||
> 此处下载的是64位的可执行文件,若您使用32位,请下载对应版本
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/latest/download/navicat-keygen-for-x64.zip
|
|
||||||
$ unzip navicat-keygen-for-x64.zip
|
|
||||||
```
|
|
||||||
|
|
||||||
3. 下载 `navicat-pacther.sh` 和 `navicat-keygen.sh`:
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ curl -O -L https://raw.githubusercontent.com/DoubleLabyrinth/navicat-keygen/windows/bash/navicat-patcher.sh
|
|
||||||
$ chmod +x navicat-patcher.sh
|
|
||||||
$ curl -O -L https://raw.githubusercontent.com/DoubleLabyrinth/navicat-keygen/windows/bash/navicat-keygen.sh
|
|
||||||
$ chmod +x navicat-keygen.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
4. 使用 `navicat-patcher.exe` 替换掉 `navicat.exe` 和 `libcc.dll` 里的Navicat激活公钥。
|
|
||||||
|
|
||||||
> 执行此步骤时,请将Navicat关闭
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ ./navicat-patcher.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
__Navicat Premium 12.1.22 简体中文版已通过测试__。下面将是一份样例输出:
|
|
||||||
|
|
||||||
```
|
|
||||||
***************************************************
|
|
||||||
* Navicat Patcher by @DoubleLabyrinth *
|
|
||||||
* Version: 4.0 *
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
Press Enter to continue or Ctrl + C to abort.
|
|
||||||
|
|
||||||
[+] Try to open Navicat.exe ... Ok!
|
|
||||||
[+] Try to open libcc.dll ... Ok!
|
|
||||||
|
|
||||||
[+] PatchSolution0 ...... Ready to apply
|
|
||||||
[*] Patch offset = +0x029bccd8
|
|
||||||
[+] PatchSolution1 ...... Ready to apply
|
|
||||||
[*] [0] Patch offset = +0x02206c00
|
|
||||||
[*] [1] Patch offset = +0x0074c489
|
|
||||||
[*] [2] Patch offset = +0x02206910
|
|
||||||
[*] [3] Patch offset = +0x0074c46f
|
|
||||||
[*] [4] Patch offset = +0x02206904
|
|
||||||
[-] PatchSolution2 ...... Omitted
|
|
||||||
[+] PatchSolution3 ...... Ready to apply
|
|
||||||
[*] [ 0] Instruction RVA = 0x016539c8, Patch Offset = +0x023e64d4
|
|
||||||
[*] [ 1] Instruction RVA = 0x01653a1f, Patch Offset = +0x01652e23
|
|
||||||
[*] [ 2] Instruction RVA = 0x01653a25, Patch Offset = +0x01652e28
|
|
||||||
[*] [ 3] Instruction RVA = 0x01653a8c, Patch Offset = +0x01652e8e
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] [108] Instruction RVA = 0x016604e1, Patch Offset = +0x023e66d8
|
|
||||||
[*] [109] Instruction RVA = 0x01660518, Patch Offset = +0x0165f91c
|
|
||||||
[*] [110] Instruction RVA = 0x0166051e, Patch Offset = +0x0165f921
|
|
||||||
|
|
||||||
[*] PatchSolution0 is suppressed in order to keep digital signature valid.
|
|
||||||
|
|
||||||
[*] Generating new RSA private key, it may take a long time...
|
|
||||||
[*] Your RSA public key:
|
|
||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hV66HgU4LrKXWW6O7bK
|
|
||||||
AN6ZTr5W+Mq8ClTQ+Pc+BdhLu6rww55kVq7OXKGpvx0G4eTafYMGrrBETgDSTaMq
|
|
||||||
Bx+8bZbGBWh2LtNfqU+xUrpHHBSz0ByBc3iTEzzthJl+Fzf8suDX2lWYIc/Ym/eW
|
|
||||||
YtxdJ7xOzLb68z4N0zVmA0jFX2FOm75DRYgKqy4SGixapfucL9dVaWVLTUdbrVdj
|
|
||||||
4LX78t4t5ykbYoThrat4yuLvj/BxLaQ6ivKD+ScfHdtCoY+NA5jmBoUfBq3Q1SXB
|
|
||||||
iNaoXctbi0/H3MiPu0cRojryAocooF89yFm5/mNnzWGAYPr6DvBI8CDTZmjaQ4oC
|
|
||||||
aQIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution1 *
|
|
||||||
*******************************************************
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206c00 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
|
|
||||||
+0x0000000002206c10 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
|
|
||||||
+0x0000000002206c20 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206c00 33 43 32 39 30 39 35 38 33 34 38 41 42 43 35 39 3C290958348ABC59
|
|
||||||
+0x0000000002206c10 36 44 39 30 43 45 45 38 31 36 42 36 39 38 34 44 6D90CEE816B6984D
|
|
||||||
+0x0000000002206c20 35 32 35 34 37 45 30 32 34 31 42 36 42 43 31 41 52547E0241B6BC1A
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c480 fe ea bc 01 ....
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c480 08 00 00 00 ....
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206910 45 31 43 45 44 30 39 42 39 43 32 31 38 36 42 46 E1CED09B9C2186BF
|
|
||||||
+0x0000000002206920 37 31 41 37 30 43 30 46 45 32 46 31 45 30 41 45 71A70C0FE2F1E0AE
|
|
||||||
+0x0000000002206930 46 33 42 44 36 42 37 35 32 37 37 41 41 42 32 30 F3BD6B75277AAB20
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206910 41 33 39 42 41 36 43 34 31 36 33 32 35 30 46 45 A39BA6C4163250FE
|
|
||||||
+0x0000000002206920 42 32 41 39 31 41 34 32 46 44 42 46 30 41 32 31 B2A91A42FDBF0A21
|
|
||||||
+0x0000000002206930 33 34 46 34 36 44 43 45 34 30 42 46 41 42 33 35 34F46DCE40BFAB35
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c460 59 Y
|
|
||||||
+0x000000000074c470 08 01 00 ...
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c460 06 .
|
|
||||||
+0x000000000074c470 00 00 00 ...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206900 39 32 39 33 33 92933
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206900 42 34 34 33 38 B4438
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution3 *
|
|
||||||
*******************************************************
|
|
||||||
[*] +023e64d4: 4d 49 49 ---> 4d 49 49
|
|
||||||
[*] +01652e23: 42 49 ---> 42 49
|
|
||||||
[*] +01652e28: 6a ---> 6a
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] +023e66d8: 77 49 44 41 ---> 51 49 44 41
|
|
||||||
[*] +0165f91c: 51 41 ---> 51 41
|
|
||||||
[*] +0165f921: 42 ---> 42
|
|
||||||
|
|
||||||
[*] New RSA-2048 private key has been saved to
|
|
||||||
C:\Users\DoubleSine\github.com\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
|
||||||
* HAVE FUN AND ENJOY~ *
|
|
||||||
*******************************************************
|
|
||||||
```
|
|
||||||
|
|
||||||
5. 接下来使用`navicat-keygen.exe`来生成序列号和激活码
|
|
||||||
|
|
||||||
```console
|
|
||||||
$ ./navicat-keygen.sh
|
|
||||||
```
|
|
||||||
|
|
||||||
你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。
|
|
||||||
|
|
||||||
```
|
|
||||||
Select Navicat product:
|
|
||||||
0. DataModeler
|
|
||||||
1. Premium
|
|
||||||
2. MySQL
|
|
||||||
3. PostgreSQL
|
|
||||||
4. Oracle
|
|
||||||
5. SQLServer
|
|
||||||
6. SQLite
|
|
||||||
7. MariaDB
|
|
||||||
8. MongoDB
|
|
||||||
9. ReportViewer
|
|
||||||
|
|
||||||
(Input index)> 1
|
|
||||||
|
|
||||||
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)> 1
|
|
||||||
|
|
||||||
(Input major version number, range: 0 ~ 15, default: 12)> 12
|
|
||||||
|
|
||||||
Serial number:
|
|
||||||
NAVO-2ORP-IN5A-GQEE
|
|
||||||
|
|
||||||
Your name:
|
|
||||||
```
|
|
||||||
|
|
||||||
你可以使用这个序列号暂时激活Navicat。
|
|
||||||
|
|
||||||
接下来你会被要求输入`用户名`和`组织名`;请随便填写,但不要太长。
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
```
|
|
||||||
|
|
||||||
之后你会被要求填入请求码。注意 __不要关闭命令行__.
|
|
||||||
|
|
||||||
6. 配置一个不存在的`代理`。找到`注册`窗口,并填入keygen给你的序列号。然后点击`激活`按钮。
|
|
||||||
|
|
||||||
7. 在线激活失败,这时候Navicat会询问你是否`手动激活`,直接选吧。
|
|
||||||
|
|
||||||
8. 在`手动激活`窗口你会得到一个请求码,复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
t2U+0yfE2FfnbjyhCXa0lglZOHu9Ntc3qyGiPbR6xb1QoU63/9BVfdaCq0blwVycXPyT/Vqw5joIKdM5oCRR/afCPM7iRcyhQMAnvqwc+AOKCqayVV+SqKLvtR/AbREI12w++PQ6Ewfs4A8PgB8OJ9G0jKt6Q/iJRblqi2WWw9mwy+YHcYYh3UAfygTnyj/xl+MzRymbY0lkus+6LPtpDecVsFFhM7F32Ee1QPwISko7bAkHOtkt+joPfYDdn9PDGZ4HEmeLvH6UqZCXkzgaAfynB7cQZFEkId8FsW2NGkbpM7wB2Hi3fNFgOIjutTprixTdbpFKn4w6gGc28ve23A==
|
|
||||||
|
|
||||||
Request Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE", "DI":"R91j6WyMhxHznAKSxxxx", "P":"WIN"}
|
|
||||||
|
|
||||||
Response Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE","DI":"R91j6WyMhxHznAKSxxxx","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1547826060}
|
|
||||||
|
|
||||||
License:
|
|
||||||
lRF18o+ZhBphyN0U5kFLHtAAGGXuvhqOcxNuvAk4dJcGeR0ISuw74mQvAfdNjv0T
|
|
||||||
I5NZFzqIJvrzM0XeR88q+3kmZkECuxwwWHP3zzDPhPiylcTV4DoGZ1tfoViUSYQc
|
|
||||||
LgXG0Fl7koZeP61YOKQ8GfX+Xk2ZTM64bYaF7NlhonM+GQUJCCF2JThmrP921t2p
|
|
||||||
b/E5pV6fLOYMM13881ZQcQcltMNVDZn4lzgzKRFFxCQFaTl6fJMHZdYVmICQTHtI
|
|
||||||
sNaym0zduc8/cv34mgJ+7NseXmsEPCdjrZ59wgfPsLhZLXqtfxi5hGWw4NMa3Sb2
|
|
||||||
UI8dzqFzRp/hSDEM0mEqiA==
|
|
||||||
```
|
|
||||||
|
|
||||||
9. 如果不出意外,你会得到一个看似用Base64编码的激活码。直接复制它,并把它粘贴到Navicat的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。别忘了关闭我们刚刚设置的不存在的代理哦。
|
|
||||||
|
|
||||||
196
doc/how-to-use.md
Normal file
196
doc/how-to-use.md
Normal file
@ -0,0 +1,196 @@
|
|||||||
|
# navicat-keygen for windows - How to use?
|
||||||
|
|
||||||
|
[中文版](how-to-use.windows.zh-CN.md)
|
||||||
|
|
||||||
|
1. Use `navicat-patcher.exe` to replace __Navicat Activation Public Key__ that is stored in `libcc.dll`.
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-patcher.exe [-dry-run] <Navicat Install Path> [RSA-2048 PEM File Path]
|
||||||
|
```
|
||||||
|
|
||||||
|
* `[-dry-run]` Run patcher without applying any patches.
|
||||||
|
|
||||||
|
__This parameter is optional.__
|
||||||
|
|
||||||
|
* `<Navicat Install Path>`: The full path to Navicat installation folder.
|
||||||
|
|
||||||
|
__This parameter must be specified.__
|
||||||
|
|
||||||
|
* `[RSA-2048 PEM File Path]`: The full path or relative path to a RSA-2048 private key file.
|
||||||
|
|
||||||
|
__This parameter is optional.__ If not specified, `navicat-patcher.exe` will generate a new RSA-2048 private key file `RegPrivateKey.pem` at current directory.
|
||||||
|
|
||||||
|
__Example: (in cmd.exe)__
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 16"
|
||||||
|
```
|
||||||
|
|
||||||
|
It has been tested on __Navicat Premium 16.0.7 English version__. The following is an example of output.
|
||||||
|
|
||||||
|
```
|
||||||
|
***************************************************
|
||||||
|
* navicat-patcher by @DoubleLabyrinth *
|
||||||
|
* version: 16.0.7.0 *
|
||||||
|
***************************************************
|
||||||
|
|
||||||
|
[+] Try to open libcc.dll ... OK!
|
||||||
|
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_vtable = 0x00000001837759f0
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_GenerateRegistrationKey = 0x0000000181fa52d0
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_iat_entry_malloc = 0x0000000183439bd0
|
||||||
|
[+] patch_solution_since<16, 0, 7, 0>: official encoded key is found.
|
||||||
|
|
||||||
|
[*] Generating new RSA private key, it may take a long time...
|
||||||
|
[*] Your RSA private key:
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEpQIBAAKCAQEAvxaFFjTE6hi80nhjgfFMM3yPer122OIWIbbumFIuAOcCF6D3
|
||||||
|
PnRHBdP9IqB99K6Nv6vKK3Jf0Y+dc5ETrg0l0AHYq+dTFTiWusHuRMx6xFjWzO96
|
||||||
|
7mFmJq6P28dUucKnr6yG1TQeZaq+mHh2DNEnNEYgV7cLVT1unUmMOL/PBh/eCcaJ
|
||||||
|
8hQNTQafQQknzCnAKC89v33y+rKInJNy9B+zSB0BGCz+eS8MKf6zc78JMSOnF2uj
|
||||||
|
NK+QEwaYw8lAbJve1F+rCQS0mbm0QvHhZYZrblVHI5l/8LkX5qBtKw7duUhXHxmO
|
||||||
|
fQieF23bBk9HDp5uQUGsdbKX6ZWitn/h926xyQIDAQABAoIBAQCHXxDRdni5zuSV
|
||||||
|
xivYdnUhVHDg5zA23ZQINmw5BJ8KjJzy2FnPqNhXzKJb0Y7ptG8/BhinRtOSxkcp
|
||||||
|
A/IJL89F2MkCn1JAimJd091UZ/fg+X7SmCVikyWm6auIa2IeZ0QcNAEhMVcHdzqn
|
||||||
|
EU+wLMu1QKjQ+x/QN0ERtHTeDyQ+lUNB+bvAjx3LHN9Zh8weVBHHtwDoyyZDdJPw
|
||||||
|
NWgpgcW+uYzlT66uh7LPPaRsEZgAkPIkhzZnwmugXdhlWxtYHKTEfe5gCqubQICc
|
||||||
|
I/x1yBP1EZFm6qBQD4/49775ZbXwxgaWvBXG+Aah9x8JYtVUS4MgrAiC4a8NQqFp
|
||||||
|
nwKVjUIBAoGBAOWsj9GGb2KYbfLzJNRrSxhs4TUBfpHteKSm2pL92NAbIOjssNhL
|
||||||
|
hLY3gBFX2RnYmoGD6YT84JNykuAictgAd5GwvLIbaVF9l7MQn8APRbe2CzQ+/494
|
||||||
|
9hpn33MZOBNd3I+a5+2qoFbXI04loyYDJkkeOqbwZzJjs7k9HmZMNwY5AoGBANT9
|
||||||
|
tRFWFDvA0pPgGoHhzlsAUAmrbSfCPkhrRXpE9fgl3VnV+NRtjCf9NhJt0uaIokZ5
|
||||||
|
oSf+jClcwU8N4EvGxMBaCHTqBzgc4dLPWpMAhPoMjjv1Oyug2iBcuTasHVP+Jdgq
|
||||||
|
CaNzpXOuq4upaaNrq+QMsI6O9wA/zWhWPmnYQYgRAoGAUk56471noU+65zvXUQB6
|
||||||
|
UvCB7Hrynt0ZRPg+kDrEPh/atV5NKdY2Yw6UqKJwvOBwzkU1pGDzIiQHGqd9vIa+
|
||||||
|
Usmhdbp5DakSeitU9IEEnQdyEHEbKJFSsLfUzeyVuesDJbt/rh5dg4Fpt5GpW+/5
|
||||||
|
Am8A2d6BPP+Z4qJSiJp7hZECgYEAy64TCZEXqEytE1yr/KjDfaK+54BX0j2e8gIj
|
||||||
|
XtmznqoXE2Hboslfzp4Gp3j+xhbDmEGYK3bw8l0RP1g1tkFOxeNTUvq6DJ8SFVbV
|
||||||
|
dt54S+bV3eCVxRL9hRUmyXGuWjQgXKdWsEhXYFkZE2Xe77h3mI3KCYoOCt74v146
|
||||||
|
MV3szQECgYEAozTO7Wuum+VMKIY35hmHMjUiYmLl3EXWwMBT2VSsk8Siu0XoH0yd
|
||||||
|
KoxsLDUBMS8sWKCZhFwU+Fx8UZjfo+xE3H4UTyVsw5EDpB9gSud928gNADwxTKor
|
||||||
|
3s4jnUzb4XRQ0qN2jXzdNuqXNV1ozeqajbM2oSZqbSnWSs5g6DpIs1Q=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
|
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: Patch has been done.
|
||||||
|
[*] New RSA-2048 private key has been saved to
|
||||||
|
C:\Users\DoubleSine\source\repos\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************
|
||||||
|
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
||||||
|
* HAVE FUN AND ENJOY~ *
|
||||||
|
*******************************************************
|
||||||
|
```
|
||||||
|
|
||||||
|
2. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-keygen.exe <-bin|-text> [-adv] <RSA-2048 Private Key File>
|
||||||
|
```
|
||||||
|
|
||||||
|
* `<-bin|-text>`: Must be `-bin` or `-text`.
|
||||||
|
|
||||||
|
If `-bin` is specified, `navicat-keygen.exe` will finally generate `license_file`. It is used for Navicat old activation method only.
|
||||||
|
|
||||||
|
If `-text` is specified, `navicat-keygen.exe` will finally generate a Base64-style string which is __Activation Code__. It is used for Navicat new activation method.
|
||||||
|
|
||||||
|
__This parameter must be specified.__
|
||||||
|
|
||||||
|
* `[-adv]`: Enable advanced mode.
|
||||||
|
|
||||||
|
__This parameter is optional.__ If specified, `navicat-keygen.exe` will ask you input Navicat product ID number, language signature numbers. It is for future use generally.
|
||||||
|
|
||||||
|
* `<RSA-2048 Private Key File>`: The full path or relative path to an RSA-2048 private key file. The private key must be in PEM format.
|
||||||
|
|
||||||
|
__This parameter must be specified.__
|
||||||
|
|
||||||
|
__Example: (in cmd.exe)__
|
||||||
|
|
||||||
|
```console
|
||||||
|
navicat-keygen.exe -text .\RegPrivateKey.pem
|
||||||
|
```
|
||||||
|
|
||||||
|
You will be asked to select Navicat product, language and input major version number. After that an randomly generated __snKey__ will be given.
|
||||||
|
|
||||||
|
```
|
||||||
|
***************************************************
|
||||||
|
* navicat-keygen by @DoubleLabyrinth *
|
||||||
|
* version: 16.0.7.0 *
|
||||||
|
***************************************************
|
||||||
|
|
||||||
|
[*] Select Navicat product:
|
||||||
|
0. DataModeler
|
||||||
|
1. Premium
|
||||||
|
2. MySQL
|
||||||
|
3. PostgreSQL
|
||||||
|
4. Oracle
|
||||||
|
5. SQLServer
|
||||||
|
6. SQLite
|
||||||
|
7. MariaDB
|
||||||
|
8. MongoDB
|
||||||
|
9. ReportViewer
|
||||||
|
|
||||||
|
(Input index)> 1
|
||||||
|
|
||||||
|
[*] 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: 11 ~ 16, default: 16)> 16
|
||||||
|
|
||||||
|
[*] Serial number:
|
||||||
|
NAVL-GFKA-T5SR-ZFTK
|
||||||
|
|
||||||
|
[*] 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: Double Sine
|
||||||
|
[*] Your organization: PremiumSoft CyberTech Ltd.
|
||||||
|
|
||||||
|
[*] Input request code (in Base64), input empty line to end:
|
||||||
|
```
|
||||||
|
|
||||||
|
After that, you will be asked to input the request code. Now __DO NOT CLOSE KEYGEN__.
|
||||||
|
|
||||||
|
3. __Disconnect your network__ and open Navicat. Find and click `Registration`. Fill `Registration Key` by __snKey__ that the keygen gave and click `Activate`.
|
||||||
|
|
||||||
|
4. Generally online activation will failed and Navicat will ask you do `Manual Activation`, just choose it.
|
||||||
|
|
||||||
|
5. Copy your request code and paste it in the keygen. Input empty line to tell the keygen that your input ends.
|
||||||
|
|
||||||
|
```
|
||||||
|
[*] Your name: Double Sine
|
||||||
|
[*] Your organization: PremiumSoft CyberTech Ltd.
|
||||||
|
|
||||||
|
[*] Input request code (in Base64), input empty line to end:
|
||||||
|
CpgnfbIJGmAcxCuo/pAb8EeoS0audZn2NNemg6c3NPK/dWgb343IZQrFwoBZY6lpxE4Fq1BoNmCM75P03XpiXQ+hErcvFWk6iQPDCk/d4msf/AoprIqAMpXFoFLkeP0G93UIIEeBsUej8SrxdDgQDM585iPok5fUW+fTDCD1VICr7DBdL3c/69IxeIgiOQSuImdIQiM3/EOfDiFbAJL9vHW5LxFT8jj+8RPXehwPTBphpInmGdzxVZUZJwAGlXt7orrRbzafdeBjz6MnTajTcJP3SS2dBCiR33UScnyxYGEXdzv7+QLScTmCvI7gqg3Z8DMhroKMoHmy1AvC16FKVw==
|
||||||
|
|
||||||
|
[*] Request Info:
|
||||||
|
{"K":"NAVLGFKAT5SRZFTK", "DI":"7D48FCBD093C778879A1", "P":"WIN"}
|
||||||
|
|
||||||
|
[*] Response Info:
|
||||||
|
{"K":"NAVLGFKAT5SRZFTK","DI":"7D48FCBD093C778879A1","N":"Double Sine","O":"PremiumSoft CyberTech Ltd.","T":1644387294}
|
||||||
|
|
||||||
|
[*] Activation Code:
|
||||||
|
vwLGmQIWg/DtzHMcaKCDHAjTcBNbTo2VmNllphUSUMgGjgvL6v82ue+GqXB6M/qn48Rj4D4Joqqisr6UwMSclNmQxOQz4RftEpLtG6KBjDo4LM71qn9R/jWoZV5EoHPQkX5gzhO/D7GammrRGn2MV+zI6dJ4c4SBFNnNyjAeEqNzinrQwjB7lUVTlpHEe/SMrdCsGliPZQ/X+5ASbEsq3D8PZsjysJv98MIJrZvdTdznrRe8JzYP+8sbIPQMIX1UDmdyDpbpSl45N92OhO4htz1kFjUEfnrwY0GMOhdYHv/PfMI7RiQzkRyY7pLvX7muJ4dkA+CmMmwew3gy3MWjig==
|
||||||
|
```
|
||||||
|
|
||||||
|
6. 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.
|
||||||
|
|
||||||
@ -1,256 +0,0 @@
|
|||||||
# Navicat Keygen - How to use? (Windows)
|
|
||||||
|
|
||||||
[中文版](how-to-use.windows.zh-CN.md)
|
|
||||||
|
|
||||||
1. Download the latest release [from here](https://github.com/DoubleLabyrinth/navicat-keygen/releases).
|
|
||||||
|
|
||||||
2. Use `navicat-patcher.exe` to replace __Navicat Activation Public Key__ that is stored in `navicat.exe` or `libcc.dll`.
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-patcher.exe [-dry-run] <Navicat Installation Path> [RSA-2048 PEM File Path]
|
|
||||||
```
|
|
||||||
|
|
||||||
* `[-dry-run]` Run patcher without applying any patches.
|
|
||||||
|
|
||||||
__This parameter is optional.__
|
|
||||||
|
|
||||||
* `<Navicat Installation Path>`: The full path to Navicat installation folder.
|
|
||||||
|
|
||||||
__This parameter must be specified.__
|
|
||||||
|
|
||||||
* `[RSA-2048 PEM File Path]`: The full path or relative path to a RSA-2048 private key file.
|
|
||||||
|
|
||||||
__This parameter is optional.__ If not specified, `navicat-patcher.exe` will generate a new RSA-2048 private key file `RegPrivateKey.pem` at current directory.
|
|
||||||
|
|
||||||
__Example: (in cmd.exe)__
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 12"
|
|
||||||
```
|
|
||||||
|
|
||||||
It has been tested on __Navicat Premium 12.1.22 Simplified Chinese version__. The following is an example of output.
|
|
||||||
|
|
||||||
```
|
|
||||||
***************************************************
|
|
||||||
* Navicat Patcher by @DoubleLabyrinth *
|
|
||||||
* Version: 4.0 *
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
Press Enter to continue or Ctrl + C to abort.
|
|
||||||
|
|
||||||
[+] Try to open Navicat.exe ... Ok!
|
|
||||||
[+] Try to open libcc.dll ... Ok!
|
|
||||||
|
|
||||||
[+] PatchSolution0 ...... Ready to apply
|
|
||||||
[*] Patch offset = +0x029bccd8
|
|
||||||
[+] PatchSolution1 ...... Ready to apply
|
|
||||||
[*] [0] Patch offset = +0x02206c00
|
|
||||||
[*] [1] Patch offset = +0x0074c489
|
|
||||||
[*] [2] Patch offset = +0x02206910
|
|
||||||
[*] [3] Patch offset = +0x0074c46f
|
|
||||||
[*] [4] Patch offset = +0x02206904
|
|
||||||
[-] PatchSolution2 ...... Omitted
|
|
||||||
[+] PatchSolution3 ...... Ready to apply
|
|
||||||
[*] [ 0] Instruction RVA = 0x016539c8, Patch Offset = +0x023e64d4
|
|
||||||
[*] [ 1] Instruction RVA = 0x01653a1f, Patch Offset = +0x01652e23
|
|
||||||
[*] [ 2] Instruction RVA = 0x01653a25, Patch Offset = +0x01652e28
|
|
||||||
[*] [ 3] Instruction RVA = 0x01653a8c, Patch Offset = +0x01652e8e
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] [108] Instruction RVA = 0x016604e1, Patch Offset = +0x023e66d8
|
|
||||||
[*] [109] Instruction RVA = 0x01660518, Patch Offset = +0x0165f91c
|
|
||||||
[*] [110] Instruction RVA = 0x0166051e, Patch Offset = +0x0165f921
|
|
||||||
|
|
||||||
[*] PatchSolution0 is suppressed in order to keep digital signature valid.
|
|
||||||
|
|
||||||
[*] Generating new RSA private key, it may take a long time...
|
|
||||||
[*] Your RSA public key:
|
|
||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hV66HgU4LrKXWW6O7bK
|
|
||||||
AN6ZTr5W+Mq8ClTQ+Pc+BdhLu6rww55kVq7OXKGpvx0G4eTafYMGrrBETgDSTaMq
|
|
||||||
Bx+8bZbGBWh2LtNfqU+xUrpHHBSz0ByBc3iTEzzthJl+Fzf8suDX2lWYIc/Ym/eW
|
|
||||||
YtxdJ7xOzLb68z4N0zVmA0jFX2FOm75DRYgKqy4SGixapfucL9dVaWVLTUdbrVdj
|
|
||||||
4LX78t4t5ykbYoThrat4yuLvj/BxLaQ6ivKD+ScfHdtCoY+NA5jmBoUfBq3Q1SXB
|
|
||||||
iNaoXctbi0/H3MiPu0cRojryAocooF89yFm5/mNnzWGAYPr6DvBI8CDTZmjaQ4oC
|
|
||||||
aQIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution1 *
|
|
||||||
*******************************************************
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206c00 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
|
|
||||||
+0x0000000002206c10 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
|
|
||||||
+0x0000000002206c20 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206c00 33 43 32 39 30 39 35 38 33 34 38 41 42 43 35 39 3C290958348ABC59
|
|
||||||
+0x0000000002206c10 36 44 39 30 43 45 45 38 31 36 42 36 39 38 34 44 6D90CEE816B6984D
|
|
||||||
+0x0000000002206c20 35 32 35 34 37 45 30 32 34 31 42 36 42 43 31 41 52547E0241B6BC1A
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c480 fe ea bc 01 ....
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c480 08 00 00 00 ....
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206910 45 31 43 45 44 30 39 42 39 43 32 31 38 36 42 46 E1CED09B9C2186BF
|
|
||||||
+0x0000000002206920 37 31 41 37 30 43 30 46 45 32 46 31 45 30 41 45 71A70C0FE2F1E0AE
|
|
||||||
+0x0000000002206930 46 33 42 44 36 42 37 35 32 37 37 41 41 42 32 30 F3BD6B75277AAB20
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206910 41 33 39 42 41 36 43 34 31 36 33 32 35 30 46 45 A39BA6C4163250FE
|
|
||||||
+0x0000000002206920 42 32 41 39 31 41 34 32 46 44 42 46 30 41 32 31 B2A91A42FDBF0A21
|
|
||||||
+0x0000000002206930 33 34 46 34 36 44 43 45 34 30 42 46 41 42 33 35 34F46DCE40BFAB35
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c460 59 Y
|
|
||||||
+0x000000000074c470 08 01 00 ...
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c460 06 .
|
|
||||||
+0x000000000074c470 00 00 00 ...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206900 39 32 39 33 33 92933
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206900 42 34 34 33 38 B4438
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution3 *
|
|
||||||
*******************************************************
|
|
||||||
[*] +023e64d4: 4d 49 49 ---> 4d 49 49
|
|
||||||
[*] +01652e23: 42 49 ---> 42 49
|
|
||||||
[*] +01652e28: 6a ---> 6a
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] +023e66d8: 77 49 44 41 ---> 51 49 44 41
|
|
||||||
[*] +0165f91c: 51 41 ---> 51 41
|
|
||||||
[*] +0165f921: 42 ---> 42
|
|
||||||
|
|
||||||
[*] New RSA-2048 private key has been saved to
|
|
||||||
C:\Users\DoubleSine\github.com\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
|
||||||
* HAVE FUN AND ENJOY~ *
|
|
||||||
*******************************************************
|
|
||||||
```
|
|
||||||
|
|
||||||
3. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-keygen.exe <-bin|-text> [-adv] <RSA-2048 PrivateKey(PEM file)>
|
|
||||||
```
|
|
||||||
|
|
||||||
* `<-bin|-text>`: Must be `-bin` or `-text`.
|
|
||||||
|
|
||||||
If `-bin` is specified, `navicat-keygen.exe` will finally generate `license_file`. It is used for Navicat old activation method only.
|
|
||||||
|
|
||||||
If `-text` is specified, `navicat-keygen.exe` will finally generate a Base64-style string which is __Activation Code__. It is used for Navicat new activation method.
|
|
||||||
|
|
||||||
__This parameter must be specified.__
|
|
||||||
|
|
||||||
* `[-adv]`: Enable advanced mode.
|
|
||||||
|
|
||||||
__This parameter is optional.__ If specified, `navicat-keygen.exe` will ask you input Navicat product ID number, language signature numbers. It is for future use generally.
|
|
||||||
|
|
||||||
* `<RSA-2048 PrivateKey(PEM file)>`: The full path or relative path to a RSA-2048 private key file.
|
|
||||||
|
|
||||||
__This parameter must be specified.__
|
|
||||||
|
|
||||||
__Example: (in cmd.exe)__
|
|
||||||
|
|
||||||
```console
|
|
||||||
navicat-keygen.exe -text .\RegPrivateKey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
You will be asked to select Navicat product, language and input major version number. After that an randomly generated __snKey__ will be given.
|
|
||||||
|
|
||||||
```
|
|
||||||
Select Navicat product:
|
|
||||||
0. DataModeler
|
|
||||||
1. Premium
|
|
||||||
2. MySQL
|
|
||||||
3. PostgreSQL
|
|
||||||
4. Oracle
|
|
||||||
5. SQLServer
|
|
||||||
6. SQLite
|
|
||||||
7. MariaDB
|
|
||||||
8. MongoDB
|
|
||||||
9. ReportViewer
|
|
||||||
|
|
||||||
(Input index)> 1
|
|
||||||
|
|
||||||
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)> 1
|
|
||||||
|
|
||||||
(Input major version number, range: 0 ~ 15, default: 12)> 12
|
|
||||||
|
|
||||||
Serial number:
|
|
||||||
NAVO-2ORP-IN5A-GQEE
|
|
||||||
|
|
||||||
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), input empty line to end:
|
|
||||||
```
|
|
||||||
|
|
||||||
After that, you will be asked to input the request code. Now __DO NOT CLOSE KEYGEN__.
|
|
||||||
|
|
||||||
4. __Disconnect your network__ and open Navicat. Find and click `Registration`. Fill `Registration Key` by __snKey__ that the keygen gave and click `Activate`.
|
|
||||||
|
|
||||||
5. Generally online activation will failed and Navicat will ask you do `Manual Activation`, just choose it.
|
|
||||||
|
|
||||||
6. Copy your request code and paste it in the keygen. Input empty line to tell the keygen that your input ends.
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
t2U+0yfE2FfnbjyhCXa0lglZOHu9Ntc3qyGiPbR6xb1QoU63/9BVfdaCq0blwVycXPyT/Vqw5joIKdM5oCRR/afCPM7iRcyhQMAnvqwc+AOKCqayVV+SqKLvtR/AbREI12w++PQ6Ewfs4A8PgB8OJ9G0jKt6Q/iJRblqi2WWw9mwy+YHcYYh3UAfygTnyj/xl+MzRymbY0lkus+6LPtpDecVsFFhM7F32Ee1QPwISko7bAkHOtkt+joPfYDdn9PDGZ4HEmeLvH6UqZCXkzgaAfynB7cQZFEkId8FsW2NGkbpM7wB2Hi3fNFgOIjutTprixTdbpFKn4w6gGc28ve23A==
|
|
||||||
|
|
||||||
Request Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE", "DI":"R91j6WyMhxHznAKSxxxx", "P":"WIN"}
|
|
||||||
|
|
||||||
Response Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE","DI":"R91j6WyMhxHznAKSxxxx","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1547826060}
|
|
||||||
|
|
||||||
License:
|
|
||||||
lRF18o+ZhBphyN0U5kFLHtAAGGXuvhqOcxNuvAk4dJcGeR0ISuw74mQvAfdNjv0T
|
|
||||||
I5NZFzqIJvrzM0XeR88q+3kmZkECuxwwWHP3zzDPhPiylcTV4DoGZ1tfoViUSYQc
|
|
||||||
LgXG0Fl7koZeP61YOKQ8GfX+Xk2ZTM64bYaF7NlhonM+GQUJCCF2JThmrP921t2p
|
|
||||||
b/E5pV6fLOYMM13881ZQcQcltMNVDZn4lzgzKRFFxCQFaTl6fJMHZdYVmICQTHtI
|
|
||||||
sNaym0zduc8/cv34mgJ+7NseXmsEPCdjrZ59wgfPsLhZLXqtfxi5hGWw4NMa3Sb2
|
|
||||||
UI8dzqFzRp/hSDEM0mEqiA==
|
|
||||||
```
|
|
||||||
|
|
||||||
7. 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.
|
|
||||||
|
|
||||||
@ -1,254 +0,0 @@
|
|||||||
# Navicat Keygen - 如何使用这个注册机? (Windows)
|
|
||||||
|
|
||||||
1. [从这里](https://github.com/DoubleLabyrinth/navicat-keygen/releases)下载最新的release。
|
|
||||||
|
|
||||||
2. 使用`navicat-patcher.exe`替换掉`navicat.exe`和`libcc.dll`里的Navicat激活公钥。
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-patcher.exe [-dry-run] <Navicat Installation Path> [RSA-2048 PEM File Path]
|
|
||||||
```
|
|
||||||
|
|
||||||
* `[-dry-run]`: 运行patcher但不对Navicat程序做任何修改。
|
|
||||||
|
|
||||||
__这个参数是可选的。__
|
|
||||||
|
|
||||||
* `<Navicat Installation Path>`: Navicat的完整安装路径。
|
|
||||||
|
|
||||||
__这个参数必须指定。__
|
|
||||||
|
|
||||||
* `[RSA-2048 PEM File Path]`: RSA-2048私钥文件的完整路径或相对路径。
|
|
||||||
|
|
||||||
__这个参数是可选的。__ 如果未指定,`navicat-patcher.exe`将会在当前目录生成一个新的RSA-2048私钥文件。
|
|
||||||
|
|
||||||
__例如:(在cmd.exe中)__
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 12"
|
|
||||||
```
|
|
||||||
|
|
||||||
__Navicat Premium 12.1.22 简体中文版已通过测试__。下面将是一份样例输出:
|
|
||||||
|
|
||||||
```
|
|
||||||
***************************************************
|
|
||||||
* Navicat Patcher by @DoubleLabyrinth *
|
|
||||||
* Version: 4.0 *
|
|
||||||
***************************************************
|
|
||||||
|
|
||||||
Press Enter to continue or Ctrl + C to abort.
|
|
||||||
|
|
||||||
[+] Try to open Navicat.exe ... Ok!
|
|
||||||
[+] Try to open libcc.dll ... Ok!
|
|
||||||
|
|
||||||
[+] PatchSolution0 ...... Ready to apply
|
|
||||||
[*] Patch offset = +0x029bccd8
|
|
||||||
[+] PatchSolution1 ...... Ready to apply
|
|
||||||
[*] [0] Patch offset = +0x02206c00
|
|
||||||
[*] [1] Patch offset = +0x0074c489
|
|
||||||
[*] [2] Patch offset = +0x02206910
|
|
||||||
[*] [3] Patch offset = +0x0074c46f
|
|
||||||
[*] [4] Patch offset = +0x02206904
|
|
||||||
[-] PatchSolution2 ...... Omitted
|
|
||||||
[+] PatchSolution3 ...... Ready to apply
|
|
||||||
[*] [ 0] Instruction RVA = 0x016539c8, Patch Offset = +0x023e64d4
|
|
||||||
[*] [ 1] Instruction RVA = 0x01653a1f, Patch Offset = +0x01652e23
|
|
||||||
[*] [ 2] Instruction RVA = 0x01653a25, Patch Offset = +0x01652e28
|
|
||||||
[*] [ 3] Instruction RVA = 0x01653a8c, Patch Offset = +0x01652e8e
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] [108] Instruction RVA = 0x016604e1, Patch Offset = +0x023e66d8
|
|
||||||
[*] [109] Instruction RVA = 0x01660518, Patch Offset = +0x0165f91c
|
|
||||||
[*] [110] Instruction RVA = 0x0166051e, Patch Offset = +0x0165f921
|
|
||||||
|
|
||||||
[*] PatchSolution0 is suppressed in order to keep digital signature valid.
|
|
||||||
|
|
||||||
[*] Generating new RSA private key, it may take a long time...
|
|
||||||
[*] Your RSA public key:
|
|
||||||
-----BEGIN PUBLIC KEY-----
|
|
||||||
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA1hV66HgU4LrKXWW6O7bK
|
|
||||||
AN6ZTr5W+Mq8ClTQ+Pc+BdhLu6rww55kVq7OXKGpvx0G4eTafYMGrrBETgDSTaMq
|
|
||||||
Bx+8bZbGBWh2LtNfqU+xUrpHHBSz0ByBc3iTEzzthJl+Fzf8suDX2lWYIc/Ym/eW
|
|
||||||
YtxdJ7xOzLb68z4N0zVmA0jFX2FOm75DRYgKqy4SGixapfucL9dVaWVLTUdbrVdj
|
|
||||||
4LX78t4t5ykbYoThrat4yuLvj/BxLaQ6ivKD+ScfHdtCoY+NA5jmBoUfBq3Q1SXB
|
|
||||||
iNaoXctbi0/H3MiPu0cRojryAocooF89yFm5/mNnzWGAYPr6DvBI8CDTZmjaQ4oC
|
|
||||||
aQIDAQAB
|
|
||||||
-----END PUBLIC KEY-----
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution1 *
|
|
||||||
*******************************************************
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206c00 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
|
|
||||||
+0x0000000002206c10 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
|
|
||||||
+0x0000000002206c20 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206c00 33 43 32 39 30 39 35 38 33 34 38 41 42 43 35 39 3C290958348ABC59
|
|
||||||
+0x0000000002206c10 36 44 39 30 43 45 45 38 31 36 42 36 39 38 34 44 6D90CEE816B6984D
|
|
||||||
+0x0000000002206c20 35 32 35 34 37 45 30 32 34 31 42 36 42 43 31 41 52547E0241B6BC1A
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c480 fe ea bc 01 ....
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c480 08 00 00 00 ....
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206910 45 31 43 45 44 30 39 42 39 43 32 31 38 36 42 46 E1CED09B9C2186BF
|
|
||||||
+0x0000000002206920 37 31 41 37 30 43 30 46 45 32 46 31 45 30 41 45 71A70C0FE2F1E0AE
|
|
||||||
+0x0000000002206930 46 33 42 44 36 42 37 35 32 37 37 41 41 42 32 30 F3BD6B75277AAB20
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206910 41 33 39 42 41 36 43 34 31 36 33 32 35 30 46 45 A39BA6C4163250FE
|
|
||||||
+0x0000000002206920 42 32 41 39 31 41 34 32 46 44 42 46 30 41 32 31 B2A91A42FDBF0A21
|
|
||||||
+0x0000000002206930 33 34 46 34 36 44 43 45 34 30 42 46 41 42 33 35 34F46DCE40BFAB35
|
|
||||||
...
|
|
||||||
...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x000000000074c460 59 Y
|
|
||||||
+0x000000000074c470 08 01 00 ...
|
|
||||||
[*] After:
|
|
||||||
+0x000000000074c460 06 .
|
|
||||||
+0x000000000074c470 00 00 00 ...
|
|
||||||
|
|
||||||
[*] Previous:
|
|
||||||
+0x0000000002206900 39 32 39 33 33 92933
|
|
||||||
[*] After:
|
|
||||||
+0x0000000002206900 42 34 34 33 38 B4438
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PatchSolution3 *
|
|
||||||
*******************************************************
|
|
||||||
[*] +023e64d4: 4d 49 49 ---> 4d 49 49
|
|
||||||
[*] +01652e23: 42 49 ---> 42 49
|
|
||||||
[*] +01652e28: 6a ---> 6a
|
|
||||||
...
|
|
||||||
...
|
|
||||||
...
|
|
||||||
[*] +023e66d8: 77 49 44 41 ---> 51 49 44 41
|
|
||||||
[*] +0165f91c: 51 41 ---> 51 41
|
|
||||||
[*] +0165f921: 42 ---> 42
|
|
||||||
|
|
||||||
[*] New RSA-2048 private key has been saved to
|
|
||||||
C:\Users\DoubleSine\github.com\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
|
||||||
|
|
||||||
*******************************************************
|
|
||||||
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
|
||||||
* HAVE FUN AND ENJOY~ *
|
|
||||||
*******************************************************
|
|
||||||
```
|
|
||||||
|
|
||||||
3. 接下来使用`navicat-keygen.exe`来生成序列号和激活码
|
|
||||||
|
|
||||||
```
|
|
||||||
navicat-keygen.exe <-bin|-text> [-adv] <RSA-2048 PrivateKey(PEM file)>
|
|
||||||
```
|
|
||||||
|
|
||||||
* `<-bin|-text>`: 必须是`-bin`或`-text`。
|
|
||||||
|
|
||||||
如果指定了`-bin`,`navicat-keygen.exe`最终将生成`license_file`文件。这个选项是给Navicat旧激活方式使用的。
|
|
||||||
|
|
||||||
如果指定了`-text`,`navicat-keygen.exe`最终将生成Base64样式的激活码。这个选项是给Navicat新激活方式使用的。
|
|
||||||
|
|
||||||
__这个参数必须指定。__
|
|
||||||
|
|
||||||
* `[-adv]`: 开启高级模式。
|
|
||||||
|
|
||||||
__这个参数是可选的。__ 如果指定了这个参数,`navicat-keygen.exe`将会要求你手工填写产品ID号、语言标识号。这个选项一般是给以后用的。
|
|
||||||
|
|
||||||
* `<RSA-2048 PrivateKey(PEM file)>`: RSA-2048私钥文件的完整路径或相对路径。
|
|
||||||
|
|
||||||
__这个参数必须指定。__
|
|
||||||
|
|
||||||
__例如:(在cmd.exe中)__
|
|
||||||
|
|
||||||
```console
|
|
||||||
navicat-keygen.exe -text .\RegPrivateKey.pem
|
|
||||||
```
|
|
||||||
|
|
||||||
你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。
|
|
||||||
|
|
||||||
```
|
|
||||||
Select Navicat product:
|
|
||||||
0. DataModeler
|
|
||||||
1. Premium
|
|
||||||
2. MySQL
|
|
||||||
3. PostgreSQL
|
|
||||||
4. Oracle
|
|
||||||
5. SQLServer
|
|
||||||
6. SQLite
|
|
||||||
7. MariaDB
|
|
||||||
8. MongoDB
|
|
||||||
9. ReportViewer
|
|
||||||
|
|
||||||
(Input index)> 1
|
|
||||||
|
|
||||||
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)> 1
|
|
||||||
|
|
||||||
(Input major version number, range: 0 ~ 15, default: 12)> 12
|
|
||||||
|
|
||||||
Serial number:
|
|
||||||
NAVO-2ORP-IN5A-GQEE
|
|
||||||
|
|
||||||
Your name:
|
|
||||||
```
|
|
||||||
|
|
||||||
你可以使用这个序列号暂时激活Navicat。
|
|
||||||
|
|
||||||
接下来你会被要求输入`用户名`和`组织名`;请随便填写,但不要太长。
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
```
|
|
||||||
|
|
||||||
之后你会被要求填入请求码。注意 __不要关闭命令行__.
|
|
||||||
|
|
||||||
4. __断开网络__ 并打开Navicat。找到`注册`窗口,并填入keygen给你的序列号。然后点击`激活`按钮。
|
|
||||||
|
|
||||||
5. 一般来说在线激活肯定会失败,这时候Navicat会询问你是否`手动激活`,直接选吧。
|
|
||||||
|
|
||||||
6. 在`手动激活`窗口你会得到一个请求码,复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。
|
|
||||||
|
|
||||||
```
|
|
||||||
Your name: DoubleLabyrinth
|
|
||||||
Your organization: DoubleLabyrinth
|
|
||||||
|
|
||||||
Input request code (in Base64), input empty line to end:
|
|
||||||
t2U+0yfE2FfnbjyhCXa0lglZOHu9Ntc3qyGiPbR6xb1QoU63/9BVfdaCq0blwVycXPyT/Vqw5joIKdM5oCRR/afCPM7iRcyhQMAnvqwc+AOKCqayVV+SqKLvtR/AbREI12w++PQ6Ewfs4A8PgB8OJ9G0jKt6Q/iJRblqi2WWw9mwy+YHcYYh3UAfygTnyj/xl+MzRymbY0lkus+6LPtpDecVsFFhM7F32Ee1QPwISko7bAkHOtkt+joPfYDdn9PDGZ4HEmeLvH6UqZCXkzgaAfynB7cQZFEkId8FsW2NGkbpM7wB2Hi3fNFgOIjutTprixTdbpFKn4w6gGc28ve23A==
|
|
||||||
|
|
||||||
Request Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE", "DI":"R91j6WyMhxHznAKSxxxx", "P":"WIN"}
|
|
||||||
|
|
||||||
Response Info:
|
|
||||||
{"K":"NAVO2ORPIN5AGQEE","DI":"R91j6WyMhxHznAKSxxxx","N":"DoubleLabyrinth","O":"DoubleLabyrinth","T":1547826060}
|
|
||||||
|
|
||||||
License:
|
|
||||||
lRF18o+ZhBphyN0U5kFLHtAAGGXuvhqOcxNuvAk4dJcGeR0ISuw74mQvAfdNjv0T
|
|
||||||
I5NZFzqIJvrzM0XeR88q+3kmZkECuxwwWHP3zzDPhPiylcTV4DoGZ1tfoViUSYQc
|
|
||||||
LgXG0Fl7koZeP61YOKQ8GfX+Xk2ZTM64bYaF7NlhonM+GQUJCCF2JThmrP921t2p
|
|
||||||
b/E5pV6fLOYMM13881ZQcQcltMNVDZn4lzgzKRFFxCQFaTl6fJMHZdYVmICQTHtI
|
|
||||||
sNaym0zduc8/cv34mgJ+7NseXmsEPCdjrZ59wgfPsLhZLXqtfxi5hGWw4NMa3Sb2
|
|
||||||
UI8dzqFzRp/hSDEM0mEqiA==
|
|
||||||
```
|
|
||||||
|
|
||||||
4. 如果不出意外,你会得到一个看似用Base64编码的激活码。直接复制它,并把它粘贴到Navicat的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。
|
|
||||||
|
|
||||||
194
doc/how-to-use.zh-CN.md
Normal file
194
doc/how-to-use.zh-CN.md
Normal file
@ -0,0 +1,194 @@
|
|||||||
|
# navicat-keygen for windows - 如何使用这个注册机?
|
||||||
|
|
||||||
|
1. 使用`navicat-patcher.exe`替换掉`navicat.exe`和`libcc.dll`里的Navicat激活公钥。
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-patcher.exe [-dry-run] <Navicat Install Path> [RSA-2048 PEM File Path]
|
||||||
|
```
|
||||||
|
|
||||||
|
* `[-dry-run]`: 运行patcher但不对Navicat程序做任何修改。
|
||||||
|
|
||||||
|
__这个参数是可选的。__
|
||||||
|
|
||||||
|
* `<Navicat Install Path>`: Navicat的完整安装路径。
|
||||||
|
|
||||||
|
__这个参数必须指定。__
|
||||||
|
|
||||||
|
* `[RSA-2048 PEM File Path]`: RSA-2048私钥文件的完整路径或相对路径。
|
||||||
|
|
||||||
|
__这个参数是可选的。__ 如果未指定,`navicat-patcher.exe`将会在当前目录生成一个新的RSA-2048私钥文件。
|
||||||
|
|
||||||
|
__例如:(在cmd.exe中)__
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 16"
|
||||||
|
```
|
||||||
|
|
||||||
|
__Navicat Premium 16.0.7 英文版__ 已通过测试。下面将是一份样例输出:
|
||||||
|
|
||||||
|
```
|
||||||
|
***************************************************
|
||||||
|
* navicat-patcher by @DoubleLabyrinth *
|
||||||
|
* version: 16.0.7.0 *
|
||||||
|
***************************************************
|
||||||
|
|
||||||
|
[+] Try to open libcc.dll ... OK!
|
||||||
|
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_vtable = 0x00000001837759f0
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_CSRegistrationInfoFetcher_WIN_GenerateRegistrationKey = 0x0000000181fa52d0
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: m_va_iat_entry_malloc = 0x0000000183439bd0
|
||||||
|
[+] patch_solution_since<16, 0, 7, 0>: official encoded key is found.
|
||||||
|
|
||||||
|
[*] Generating new RSA private key, it may take a long time...
|
||||||
|
[*] Your RSA private key:
|
||||||
|
-----BEGIN RSA PRIVATE KEY-----
|
||||||
|
MIIEpQIBAAKCAQEAvxaFFjTE6hi80nhjgfFMM3yPer122OIWIbbumFIuAOcCF6D3
|
||||||
|
PnRHBdP9IqB99K6Nv6vKK3Jf0Y+dc5ETrg0l0AHYq+dTFTiWusHuRMx6xFjWzO96
|
||||||
|
7mFmJq6P28dUucKnr6yG1TQeZaq+mHh2DNEnNEYgV7cLVT1unUmMOL/PBh/eCcaJ
|
||||||
|
8hQNTQafQQknzCnAKC89v33y+rKInJNy9B+zSB0BGCz+eS8MKf6zc78JMSOnF2uj
|
||||||
|
NK+QEwaYw8lAbJve1F+rCQS0mbm0QvHhZYZrblVHI5l/8LkX5qBtKw7duUhXHxmO
|
||||||
|
fQieF23bBk9HDp5uQUGsdbKX6ZWitn/h926xyQIDAQABAoIBAQCHXxDRdni5zuSV
|
||||||
|
xivYdnUhVHDg5zA23ZQINmw5BJ8KjJzy2FnPqNhXzKJb0Y7ptG8/BhinRtOSxkcp
|
||||||
|
A/IJL89F2MkCn1JAimJd091UZ/fg+X7SmCVikyWm6auIa2IeZ0QcNAEhMVcHdzqn
|
||||||
|
EU+wLMu1QKjQ+x/QN0ERtHTeDyQ+lUNB+bvAjx3LHN9Zh8weVBHHtwDoyyZDdJPw
|
||||||
|
NWgpgcW+uYzlT66uh7LPPaRsEZgAkPIkhzZnwmugXdhlWxtYHKTEfe5gCqubQICc
|
||||||
|
I/x1yBP1EZFm6qBQD4/49775ZbXwxgaWvBXG+Aah9x8JYtVUS4MgrAiC4a8NQqFp
|
||||||
|
nwKVjUIBAoGBAOWsj9GGb2KYbfLzJNRrSxhs4TUBfpHteKSm2pL92NAbIOjssNhL
|
||||||
|
hLY3gBFX2RnYmoGD6YT84JNykuAictgAd5GwvLIbaVF9l7MQn8APRbe2CzQ+/494
|
||||||
|
9hpn33MZOBNd3I+a5+2qoFbXI04loyYDJkkeOqbwZzJjs7k9HmZMNwY5AoGBANT9
|
||||||
|
tRFWFDvA0pPgGoHhzlsAUAmrbSfCPkhrRXpE9fgl3VnV+NRtjCf9NhJt0uaIokZ5
|
||||||
|
oSf+jClcwU8N4EvGxMBaCHTqBzgc4dLPWpMAhPoMjjv1Oyug2iBcuTasHVP+Jdgq
|
||||||
|
CaNzpXOuq4upaaNrq+QMsI6O9wA/zWhWPmnYQYgRAoGAUk56471noU+65zvXUQB6
|
||||||
|
UvCB7Hrynt0ZRPg+kDrEPh/atV5NKdY2Yw6UqKJwvOBwzkU1pGDzIiQHGqd9vIa+
|
||||||
|
Usmhdbp5DakSeitU9IEEnQdyEHEbKJFSsLfUzeyVuesDJbt/rh5dg4Fpt5GpW+/5
|
||||||
|
Am8A2d6BPP+Z4qJSiJp7hZECgYEAy64TCZEXqEytE1yr/KjDfaK+54BX0j2e8gIj
|
||||||
|
XtmznqoXE2Hboslfzp4Gp3j+xhbDmEGYK3bw8l0RP1g1tkFOxeNTUvq6DJ8SFVbV
|
||||||
|
dt54S+bV3eCVxRL9hRUmyXGuWjQgXKdWsEhXYFkZE2Xe77h3mI3KCYoOCt74v146
|
||||||
|
MV3szQECgYEAozTO7Wuum+VMKIY35hmHMjUiYmLl3EXWwMBT2VSsk8Siu0XoH0yd
|
||||||
|
KoxsLDUBMS8sWKCZhFwU+Fx8UZjfo+xE3H4UTyVsw5EDpB9gSud928gNADwxTKor
|
||||||
|
3s4jnUzb4XRQ0qN2jXzdNuqXNV1ozeqajbM2oSZqbSnWSs5g6DpIs1Q=
|
||||||
|
-----END RSA PRIVATE KEY-----
|
||||||
|
|
||||||
|
[*] patch_solution_since<16, 0, 7, 0>: Patch has been done.
|
||||||
|
[*] New RSA-2048 private key has been saved to
|
||||||
|
C:\Users\DoubleSine\source\repos\navicat-keygen\bin\x64-Release\RegPrivateKey.pem
|
||||||
|
|
||||||
|
|
||||||
|
*******************************************************
|
||||||
|
* PATCH HAS BEEN DONE SUCCESSFULLY! *
|
||||||
|
* HAVE FUN AND ENJOY~ *
|
||||||
|
*******************************************************
|
||||||
|
```
|
||||||
|
|
||||||
|
2. 接下来使用`navicat-keygen.exe`来生成序列号和激活码
|
||||||
|
|
||||||
|
```
|
||||||
|
navicat-keygen.exe <-bin|-text> [-adv] <RSA-2048 Private Key File>
|
||||||
|
```
|
||||||
|
|
||||||
|
* `<-bin|-text>`: 必须是`-bin`或`-text`。
|
||||||
|
|
||||||
|
如果指定了`-bin`,`navicat-keygen.exe`最终将生成`license_file`文件。这个选项是给Navicat旧激活方式使用的。
|
||||||
|
|
||||||
|
如果指定了`-text`,`navicat-keygen.exe`最终将生成Base64样式的激活码。这个选项是给Navicat新激活方式使用的。
|
||||||
|
|
||||||
|
__这个参数必须指定。__
|
||||||
|
|
||||||
|
* `[-adv]`: 开启高级模式。
|
||||||
|
|
||||||
|
__这个参数是可选的。__ 如果指定了这个参数,`navicat-keygen.exe`将会要求你手工填写产品ID号、语言标识号。这个选项一般是给以后用的。
|
||||||
|
|
||||||
|
* `<RSA-2048 Private Key File>`: RSA-2048私钥文件的完整路径或相对路径。私钥必须是PEM格式的。
|
||||||
|
|
||||||
|
__这个参数必须指定。__
|
||||||
|
|
||||||
|
__例如:(在cmd.exe中)__
|
||||||
|
|
||||||
|
```console
|
||||||
|
navicat-keygen.exe -text .\RegPrivateKey.pem
|
||||||
|
```
|
||||||
|
|
||||||
|
你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。
|
||||||
|
|
||||||
|
```
|
||||||
|
***************************************************
|
||||||
|
* navicat-keygen by @DoubleLabyrinth *
|
||||||
|
* version: 16.0.7.0 *
|
||||||
|
***************************************************
|
||||||
|
|
||||||
|
[*] Select Navicat product:
|
||||||
|
0. DataModeler
|
||||||
|
1. Premium
|
||||||
|
2. MySQL
|
||||||
|
3. PostgreSQL
|
||||||
|
4. Oracle
|
||||||
|
5. SQLServer
|
||||||
|
6. SQLite
|
||||||
|
7. MariaDB
|
||||||
|
8. MongoDB
|
||||||
|
9. ReportViewer
|
||||||
|
|
||||||
|
(Input index)> 1
|
||||||
|
|
||||||
|
[*] 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: 11 ~ 16, default: 16)> 16
|
||||||
|
|
||||||
|
[*] Serial number:
|
||||||
|
NAVL-GFKA-T5SR-ZFTK
|
||||||
|
|
||||||
|
[*] Your name:
|
||||||
|
```
|
||||||
|
|
||||||
|
你可以使用这个序列号暂时激活Navicat。
|
||||||
|
|
||||||
|
接下来你会被要求输入`用户名`和`组织名`;请随便填写,但不要太长。
|
||||||
|
|
||||||
|
```
|
||||||
|
[*] Your name: Double Sine
|
||||||
|
[*] Your organization: PremiumSoft CyberTech Ltd.
|
||||||
|
|
||||||
|
[*] Input request code (in Base64), input empty line to end:
|
||||||
|
```
|
||||||
|
|
||||||
|
之后你会被要求填入请求码。注意 __不要关闭命令行__.
|
||||||
|
|
||||||
|
3. __断开网络__ 并打开Navicat。找到`注册`窗口,并填入keygen给你的序列号。然后点击`激活`按钮。
|
||||||
|
|
||||||
|
4. 一般来说在线激活肯定会失败,这时候Navicat会询问你是否`手动激活`,直接选吧。
|
||||||
|
|
||||||
|
5. 在`手动激活`窗口你会得到一个请求码,复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。
|
||||||
|
|
||||||
|
```
|
||||||
|
[*] Your name: Double Sine
|
||||||
|
[*] Your organization: PremiumSoft CyberTech Ltd.
|
||||||
|
|
||||||
|
[*] Input request code (in Base64), input empty line to end:
|
||||||
|
CpgnfbIJGmAcxCuo/pAb8EeoS0audZn2NNemg6c3NPK/dWgb343IZQrFwoBZY6lpxE4Fq1BoNmCM75P03XpiXQ+hErcvFWk6iQPDCk/d4msf/AoprIqAMpXFoFLkeP0G93UIIEeBsUej8SrxdDgQDM585iPok5fUW+fTDCD1VICr7DBdL3c/69IxeIgiOQSuImdIQiM3/EOfDiFbAJL9vHW5LxFT8jj+8RPXehwPTBphpInmGdzxVZUZJwAGlXt7orrRbzafdeBjz6MnTajTcJP3SS2dBCiR33UScnyxYGEXdzv7+QLScTmCvI7gqg3Z8DMhroKMoHmy1AvC16FKVw==
|
||||||
|
|
||||||
|
[*] Request Info:
|
||||||
|
{"K":"NAVLGFKAT5SRZFTK", "DI":"7D48FCBD093C778879A1", "P":"WIN"}
|
||||||
|
|
||||||
|
[*] Response Info:
|
||||||
|
{"K":"NAVLGFKAT5SRZFTK","DI":"7D48FCBD093C778879A1","N":"Double Sine","O":"PremiumSoft CyberTech Ltd.","T":1644387294}
|
||||||
|
|
||||||
|
[*] Activation Code:
|
||||||
|
vwLGmQIWg/DtzHMcaKCDHAjTcBNbTo2VmNllphUSUMgGjgvL6v82ue+GqXB6M/qn48Rj4D4Joqqisr6UwMSclNmQxOQz4RftEpLtG6KBjDo4LM71qn9R/jWoZV5EoHPQkX5gzhO/D7GammrRGn2MV+zI6dJ4c4SBFNnNyjAeEqNzinrQwjB7lUVTlpHEe/SMrdCsGliPZQ/X+5ASbEsq3D8PZsjysJv98MIJrZvdTdznrRe8JzYP+8sbIPQMIX1UDmdyDpbpSl45N92OhO4htz1kFjUEfnrwY0GMOhdYHv/PfMI7RiQzkRyY7pLvX7muJ4dkA+CmMmwew3gy3MWjig==
|
||||||
|
```
|
||||||
|
|
||||||
|
6. 如果不出意外,你会得到一个看似用Base64编码的激活码。直接复制它,并把它粘贴到Navicat的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。
|
||||||
|
|
||||||
Binary file not shown.
Binary file not shown.
|
Before Width: | Height: | Size: 10 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 11 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 12 KiB |
Loading…
Reference in New Issue
Block a user