Move Linux tutorial to README_FOR_LINUX

This commit is contained in:
Double Sine 2019-04-30 18:56:20 +08:00
parent 8a853937a3
commit cdbf7601bf
No known key found for this signature in database
GPG Key ID: 44460E4F43EA8633
4 changed files with 540 additions and 80 deletions

View File

@ -8,45 +8,28 @@ This repository will tell you how Navicat offline activation works.
## How to use? ## How to use?
> For easier offline activation, we are going to install Navicat to `home`; you can download [Screen recoding](image/Screen_recording.mp4) for references. __For Linux users, see [here](README_FOR_LINUX.md).__
1. Run Navicat, for initialization: 1. Download the latest release [from here](https://github.com/DoubleLabyrinth/navicat-keygen/releases).
```bash 2. Use `navicat-patcher.exe` to replace __Navicat Activation Public Key__ that is stored in `navicat.exe` or `libcc.dll`.
cd ~/navicat121_premium_en_x64 && \
./start_navicat ```
navicat-patcher.exe <Navicat installation path> [RSA-2048 PEM file]
``` ```
When running for the first time, you will be prompted with the following two windows, click "Cancel" to: * `<Navicat installation path>`: The full path to Navicat installation folder.
![](image/Screenshot_2019-04-30_12-31-33.png) __This parameter must be specified.__
![](image/Screenshot_2019-04-30_12-31-52.png) * `[RSA-2048 PEM file]`: The full path or relative path to a RSA-2048 private key file.
Until the `Registration` window appears, select `Trial`, close Navicat after loading is complete, and execute `Step 2`: __This parameter is optional.__ If not specified, `navicat-patcher.exe` will generate a new RSA-2048 private key file `RegPrivateKey.pem` at current directory.
![](image/Screenshot_2019-04-30_12-32-43.png) __Example: (in cmd.exe)__
2. Download the latest release [from here](https://github.com/DoubleLabyrinth/navicat-keygen/releases), and extract
```bash
curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/download/v3.1/navicat-keygen-for-x64.zip && \
unzip navicat-keygen-for-x64.zip
``` ```
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 12"
3. Download `navicat-pacther.sh` and `navicat-keygen.sh`:
```bash
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-patcher.sh && \
chmod +x navicat-patcher.sh && \
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/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`.
```bash
./navicat-patcher.sh
``` ```
It has been tested on __Navicat Premium 12.1.12 Simplified Chinese version__. The following is an example of output. It has been tested on __Navicat Premium 12.1.12 Simplified Chinese version__. The following is an example of output.
@ -136,10 +119,32 @@ This repository will tell you how Navicat offline activation works.
MESSAGE: Patch has been done successfully. MESSAGE: Patch has been done successfully.
``` ```
5. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__ 3. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__
``` ```
./navicat-keygen.sh 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)__
```bash
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. You will be asked to select Navicat product, language and input major version number. After that an randomly generated __snKey__ will be given.
@ -194,11 +199,11 @@ This repository will tell you how Navicat offline activation works.
After that, you will be asked to input the request code. Now __DO NOT CLOSE KEYGEN__. 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`. 4. __Disconnect your network__ and open Navicat. 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. 5. Generally 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. 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 name: DoubleLabyrinth
@ -222,5 +227,5 @@ This repository will tell you how Navicat offline activation works.
UI8dzqFzRp/hSDEM0mEqiA== 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. Don't forget to close the proxy that we just set up. 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.

View File

@ -6,45 +6,28 @@
## 如何使用这个注册机 ## 如何使用这个注册机
> 为便于离线激活,将安装包解压在`家目录`;可下载[录屏文件](image/Screen_recording.mp4)参考 __针对Linux用户请见[这里](README_FOR_LINUX.zh-CN.md)__
1. 运行Navicat使其初始化环境 1. [从这里](https://github.com/DoubleLabyrinth/navicat-keygen/releases)下载最新的release。
```bash 2. 使用`navicat-patcher.exe`替换掉`navicat.exe`和`libcc.dll`里的Navicat激活公钥。
cd ~/navicat121_premium_en_x64 && \
./start_navicat ```
navicat-patcher.exe <Navicat installation path> [RSA-2048 PEM file]
``` ```
首次启动时会提示如下两个窗口点击“Cancel”即可 * `<Navicat installation path>`: Navicat的完整安装路径。
![](image/Screenshot_2019-04-30_12-31-33.png) __这个参数必须指定。__
![](image/Screenshot_2019-04-30_12-31-52.png) * `[RSA-2048 PEM file]`: RSA-2048私钥文件的完整路径或相对路径。
直至出现`Registration`窗口,选择`Trial`待加载完成后关闭Navicat执行`步骤2`: __这个参数是可选的。__ 如果未指定,`navicat-patcher.exe`将会在当前目录生成一个新的RSA-2048私钥文件。
![](image/Screenshot_2019-04-30_12-32-43.png) __例如(在cmd.exe中)__
2. [从这里](https://github.com/DoubleLabyrinth/navicat-keygen/releases)下载最新的release并且解压
```bash
curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/download/v3.1/navicat-keygen-for-x64.zip && \
unzip navicat-keygen-for-x64.zip
``` ```
navicat-patcher.exe "C:\Program Files\PremiumSoft\Navicat Premium 12"
3. 下载`navicat-pacther.sh`和`navicat-keygen.sh`
```bash
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-patcher.sh && \
chmod +x navicat-patcher.sh && \
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-keygen.sh && \
chmod +x navicat-keygen.sh
```
4. 使用`navicat-patcher.exe`替换掉`navicat.exe`和`libcc.dll`里的Navicat激活公钥。
```bash
./navicat-patcher.sh
``` ```
__Navicat Premium 12.1.12 简体中文版已通过测试__。下面将是一份样例输出。 __Navicat Premium 12.1.12 简体中文版已通过测试__。下面将是一份样例输出。
@ -134,10 +117,32 @@
MESSAGE: Patch has been done successfully. MESSAGE: Patch has been done successfully.
``` ```
5. 接下来使用`navicat-keygen.exe`来生成序列号和激活码 3. 接下来使用`navicat-keygen.exe`来生成序列号和激活码
``` ```
./navicat-keygen.sh 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中)__
```bash
navicat-keygen.exe -text .\RegPrivateKey.pem
``` ```
你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。 你会被要求选择Navicat产品类别、语言以及输入主版本号。之后会随机生成一个序列号。
@ -192,11 +197,11 @@
之后你会被要求填入请求码。注意 __不要关闭命令行__. 之后你会被要求填入请求码。注意 __不要关闭命令行__.
6. 配置一个不存在的`代理`。找到`注册`窗口并填入keygen给你的序列号。然后点击`激活`按钮。 4. __断开网络__ 并打开Navicat。找到`注册`窗口并填入keygen给你的序列号。然后点击`激活`按钮。
7. 在线激活失败这时候Navicat会询问你是否`手动激活`,直接选吧。 5. 一般来说在线激活肯定会失败这时候Navicat会询问你是否`手动激活`,直接选吧。
8. 在`手动激活`窗口你会得到一个请求码复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。 6. 在`手动激活`窗口你会得到一个请求码复制它并把它粘贴到keygen里。最后别忘了连按至少两下回车结束输入。
```bash ```bash
Your name: DoubleLabyrinth Your name: DoubleLabyrinth
@ -220,5 +225,5 @@
UI8dzqFzRp/hSDEM0mEqiA== UI8dzqFzRp/hSDEM0mEqiA==
``` ```
9. 如果不出意外你会得到一个看似用Base64编码的激活码。直接复制它并把它粘贴到Navicat的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。别忘了关闭我们刚刚设置的不存在的代理哦。 4. 如果不出意外你会得到一个看似用Base64编码的激活码。直接复制它并把它粘贴到Navicat的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。

226
README_FOR_LINUX.md Normal file
View File

@ -0,0 +1,226 @@
# Navicat Keygen - for Linux
[中文版README](README_FOR_LINUX.zh-CN.md)
This repository will tell you how Navicat offline activation works.
[How does it work?](HOW_DOES_IT_WORK.md)
## How to use?
> For easier offline activation, we are going to install Navicat to `home`; you can download [Screen recoding](image/Screen_recording.mp4) for references.
1. Run Navicat, for initialization:
```bash
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:
![](image/Screenshot_2019-04-30_12-31-33.png)
![](image/Screenshot_2019-04-30_12-31-52.png)
Until the `Registration` window appears, select `Trial`, close Navicat after loading is complete, and execute `Step 2`:
![](image/Screenshot_2019-04-30_12-32-43.png)
2. Download the latest release [from here](https://github.com/DoubleLabyrinth/navicat-keygen/releases), and extract
```bash
curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/download/v3.1/navicat-keygen-for-x64.zip && \
unzip navicat-keygen-for-x64.zip
```
3. Download `navicat-pacther.sh` and `navicat-keygen.sh`:
```bash
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-patcher.sh && \
chmod +x navicat-patcher.sh && \
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/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`.
```bash
./navicat-patcher.sh
```
It has been tested on __Navicat Premium 12.1.12 Simplified Chinese version__. The following is an example of output.
```
***************************************************
* Navicat Patcher by @DoubleLabyrinth *
* Release date: Jan 19 2019 *
***************************************************
Press Enter to continue or Ctrl + C to abort.
MESSAGE: PatchSolution0 will be omitted.
MESSAGE: PatchSolution3: Keywords[0] has been found:
Relative Machine Code Offset = +0x0000000001644a08
Relative Machine Code RVA = +0x0000000001645608
Patch Offset = +0x00000000023d56e4
Patch Size = 3 byte(s)
...
...
...
MESSAGE: PatchSolution3: Keywords[110] has been found:
Relative Machine Code Offset = +0x000000000165155e
Relative Machine Code RVA = +0x000000000165215e
Patch Offset = +0x0000000001651561
Patch Size = 1 byte(s)
MESSAGE: PatchSolution2 will be omitted.
MESSAGE: PatchSolution1: Keywords[0] has been found: offset = +0x021f7390.
MESSAGE: PatchSolution1: Keywords[1] has been found: offset = +0x0074bd39.
MESSAGE: PatchSolution1: Keywords[2] has been found: offset = +0x021f70a0.
MESSAGE: PatchSolution1: Keywords[3] has been found: offset = +0x0074bd1f.
MESSAGE: PatchSolution1: Keywords[4] has been found: offset = +0x021f708c.
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-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWnV5hQxlXvDA3Ad4k5N
ZLz4cO+iGEPegSovIDcwTo097I+0pXYKPTVl+0iKC5JtJRObb4Xx9yK9gGwqkcxo
o6WzKq0xY1jz7X6obxwlQCNse3Os1wr0rIY0UzP1dCpkW/5MwGbFxiB6PEVqkzmJ
CmHBzZDRu/jAuL1nyoiGnUStqwENNYhyl4k7r8AiJkBZGMOCrj6v0JfgNna25Ce6
QCFojlY4dkYQ5/7njQ3qpLwMeLEXEysMW3aUScSB68/vsHnB4C0fIkwfEPYZ/AC5
AqbWHVbNmveB3rjV+tZZxXcLE8ArgKh1Gs+2VtnL09gwHm6WcpyPZ42G6tMDjWyw
1wIDAQAB
-----END PUBLIC KEY-----
******************************************
* PatchSulution3 *
******************************************
@ +023d56e4: 4D 49 49 ---> 4D 49 49
@ +01644a63: 42 49 ---> 42 49
@ +01644a68: 6A ---> 6A
@ +01644ace: 41 ---> 41
...
...
...
@ +023d58d4: 36 63 6A ---> 47 36 74
@ +023d58d8: 78 6C 6A 75 75 51 61 ---> 4D 44 6A 57 79 77 31
@ +023d58e8: 77 49 44 41 ---> 77 49 44 41
@ +0165155c: 51 41 ---> 51 41
@ +01651561: 42 ---> 42
******************************************
* PatchSulution1 *
******************************************
@ +0x021f7390
Previous:
+0x00000000021F7390 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
+0x00000000021F73A0 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
+0x00000000021F73B0 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
...
...
...
@ +0x021f708c
Previous:
+0x00000000021F7080 31 32 32 35 4f 45 29 2e 00 00 00 00 39 32 39 33 1225OE).....9293
+0x00000000021F7090 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3...............
After:
+0x00000000021F7080 31 32 32 35 4f 45 29 2e 00 00 00 00 32 37 45 38 1225OE).....27E8
+0x00000000021F7090 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E...............
MESSAGE: Patch has been done successfully.
```
5. Then use `navicat-keygen.exe` to generate __snKey__ and __Activation Code__
```
./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==
```
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. Don't forget to close the proxy that we just set up.

224
README_FOR_LINUX.zh-CN.md Normal file
View File

@ -0,0 +1,224 @@
# Navicat Keygen - for Linux
这份repo将会告诉你Navicat是怎么完成离线激活的。
[注册机是怎么工作的?](HOW_DOES_IT_WORK.zh-CN.md)
## 如何使用这个注册机
> 为便于离线激活,将安装包解压在`家目录`;可下载[录屏文件](image/Screen_recording.mp4)参考
1. 运行Navicat使其初始化环境
```bash
cd ~/navicat121_premium_en_x64 && \
./start_navicat
```
首次启动时会提示如下两个窗口点击“Cancel”即可
![](image/Screenshot_2019-04-30_12-31-33.png)
![](image/Screenshot_2019-04-30_12-31-52.png)
直至出现`Registration`窗口,选择`Trial`待加载完成后关闭Navicat执行`步骤2`:
![](image/Screenshot_2019-04-30_12-32-43.png)
2. [从这里](https://github.com/DoubleLabyrinth/navicat-keygen/releases)下载最新的release并且解压
```bash
curl -O -L https://github.com/DoubleLabyrinth/navicat-keygen/releases/download/v3.1/navicat-keygen-for-x64.zip && \
unzip navicat-keygen-for-x64.zip
```
3. 下载`navicat-pacther.sh`和`navicat-keygen.sh`
```bash
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-patcher.sh && \
chmod +x navicat-patcher.sh && \
curl -O -L https://raw.githubusercontent.com/zenuo/navicat-keygen/linux/bash/navicat-keygen.sh && \
chmod +x navicat-keygen.sh
```
4. 使用`navicat-patcher.exe`替换掉`navicat.exe`和`libcc.dll`里的Navicat激活公钥。
```bash
./navicat-patcher.sh
```
__Navicat Premium 12.1.12 简体中文版已通过测试__。下面将是一份样例输出。
```
***************************************************
* Navicat Patcher by @DoubleLabyrinth *
* Release date: Jan 19 2019 *
***************************************************
Press Enter to continue or Ctrl + C to abort.
MESSAGE: PatchSolution0 will be omitted.
MESSAGE: PatchSolution3: Keywords[0] has been found:
Relative Machine Code Offset = +0x0000000001644a08
Relative Machine Code RVA = +0x0000000001645608
Patch Offset = +0x00000000023d56e4
Patch Size = 3 byte(s)
...
...
...
MESSAGE: PatchSolution3: Keywords[110] has been found:
Relative Machine Code Offset = +0x000000000165155e
Relative Machine Code RVA = +0x000000000165215e
Patch Offset = +0x0000000001651561
Patch Size = 1 byte(s)
MESSAGE: PatchSolution2 will be omitted.
MESSAGE: PatchSolution1: Keywords[0] has been found: offset = +0x021f7390.
MESSAGE: PatchSolution1: Keywords[1] has been found: offset = +0x0074bd39.
MESSAGE: PatchSolution1: Keywords[2] has been found: offset = +0x021f70a0.
MESSAGE: PatchSolution1: Keywords[3] has been found: offset = +0x0074bd1f.
MESSAGE: PatchSolution1: Keywords[4] has been found: offset = +0x021f708c.
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-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEAsWnV5hQxlXvDA3Ad4k5N
ZLz4cO+iGEPegSovIDcwTo097I+0pXYKPTVl+0iKC5JtJRObb4Xx9yK9gGwqkcxo
o6WzKq0xY1jz7X6obxwlQCNse3Os1wr0rIY0UzP1dCpkW/5MwGbFxiB6PEVqkzmJ
CmHBzZDRu/jAuL1nyoiGnUStqwENNYhyl4k7r8AiJkBZGMOCrj6v0JfgNna25Ce6
QCFojlY4dkYQ5/7njQ3qpLwMeLEXEysMW3aUScSB68/vsHnB4C0fIkwfEPYZ/AC5
AqbWHVbNmveB3rjV+tZZxXcLE8ArgKh1Gs+2VtnL09gwHm6WcpyPZ42G6tMDjWyw
1wIDAQAB
-----END PUBLIC KEY-----
******************************************
* PatchSulution3 *
******************************************
@ +023d56e4: 4D 49 49 ---> 4D 49 49
@ +01644a63: 42 49 ---> 42 49
@ +01644a68: 6A ---> 6A
@ +01644ace: 41 ---> 41
...
...
...
@ +023d58d4: 36 63 6A ---> 47 36 74
@ +023d58d8: 78 6C 6A 75 75 51 61 ---> 4D 44 6A 57 79 77 31
@ +023d58e8: 77 49 44 41 ---> 77 49 44 41
@ +0165155c: 51 41 ---> 51 41
@ +01651561: 42 ---> 42
******************************************
* PatchSulution1 *
******************************************
@ +0x021f7390
Previous:
+0x00000000021F7390 44 37 35 31 32 35 42 37 30 37 36 37 42 39 34 31 D75125B70767B941
+0x00000000021F73A0 34 35 42 34 37 43 31 43 42 33 43 30 37 35 35 45 45B47C1CB3C0755E
+0x00000000021F73B0 37 43 43 42 38 38 32 35 43 35 44 43 45 30 43 35 7CCB8825C5DCE0C5
...
...
...
@ +0x021f708c
Previous:
+0x00000000021F7080 31 32 32 35 4f 45 29 2e 00 00 00 00 39 32 39 33 1225OE).....9293
+0x00000000021F7090 33 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 3...............
After:
+0x00000000021F7080 31 32 32 35 4f 45 29 2e 00 00 00 00 32 37 45 38 1225OE).....27E8
+0x00000000021F7090 45 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 E...............
MESSAGE: Patch has been done successfully.
```
5. 接下来使用`navicat-keygen.exe`来生成序列号和激活码
```
./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里。最后别忘了连按至少两下回车结束输入。
```bash
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的`手动激活`窗口,最后点`激活`按钮。如果没什么意外的话应该能成功激活。别忘了关闭我们刚刚设置的不存在的代理哦。