Skip to content

Commit 2e4b12b

Browse files
Update README.md
1 parent ff61253 commit 2e4b12b

File tree

1 file changed

+16
-2
lines changed

1 file changed

+16
-2
lines changed

README.md

Lines changed: 16 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -70,6 +70,8 @@
7070
For __Navicat 12 x64 Traditional Chinese version__: They must be `0xAA` and `0x99` respectively.
7171
For __Navicat 11 x64 Simplified Chinese version__: They must be `0xCE` and `0x32` respectively.
7272

73+
According to __Navicat 12 for Mac x64__ version, what IDA 7.0 indicates is that this two bytes are product signature.
74+
7375
4. __data[7]__ represents whether it is __commercial license__ or __non-commercial license__.
7476

7577
For __Navicat 12 x64__: `0x65` is __commercial license__, `0x66` is __non-commercial license__.
@@ -78,17 +80,29 @@
7880
_`May change when Navicat product changes. Uncertain yet.`_
7981
_`Must change when version change.`_
8082

83+
According to __Navicat 12 for Mac x64__ version, what IDA 7.0 indicates is that commercial license is __Enterprise License__ and non-commercial license is __Educational License__.
84+
8185
5. High 4 bits of __data[8]__ represents __version number__. Low 4 bits is unknown, but we can use it to delay activation deadline. Possible value is `0000` or `0001`.
8286

8387
For __Navicat 12 x64__: High 4 bits must be `1100`, which is the binary of number `12`.
8488
For __Navicat 11 x64__: High 4 bits must be `1011`, which is the binary of number `11`.
8589

86-
_`Must change when version change.`_
90+
_`Must change when version change. Confirmed by Navicat 12 for Mac x64 with IDA Pro 7.0`_
8791

8892
6. __data[9]__ is unknown, but you can set it `0xFD` or `0xFC` or `0xFB` if you want to use __not-for-resale license__.
8993

9094
_`May change when Navicat product changes. Uncertain yet.`_
9195

96+
According to __Navicat 12 for Mac x64__ version, what IDA 7.0 indicates is that:
97+
98+
* `0xFB` is __Not-For-Resale-30-days__ license.
99+
* `0xFC` is __Not-For-Resale-90-days__ license.
100+
* `0xFD` is __Not-For-Resale-365-days__ license.
101+
* `0xFE` is __Not-For-Resale__ license.
102+
* `0xFF` is __Site__ license.
103+
104+
-----------------
105+
92106
After that. Navicat use __DES__ with __ECB mode__ to encrypt the last 8 bytes which are from __data[2]__ to __data[9]__.
93107

94108
The DES key is:
@@ -97,7 +111,7 @@
97111
unsigned char DESKey = { 0x64, 0xAD, 0xF3, 0x2F, 0xAE, 0xF2, 0x1A, 0x27 };
98112
```
99113

100-
Then encode the 10-bytes-long data:
114+
Then encode the 10-bytes-long data: __(Use Base32 encode if you just want a conclusion.)__
101115

102116
1. Regard __data[10]__ as a 80-bits-long data.
103117

0 commit comments

Comments
 (0)