|
70 | 70 | For __Navicat 12 x64 Traditional Chinese version__: They must be `0xAA` and `0x99` respectively.
|
71 | 71 | For __Navicat 11 x64 Simplified Chinese version__: They must be `0xCE` and `0x32` respectively.
|
72 | 72 |
|
| 73 | + According to __Navicat 12 for Mac x64__ version, what IDA 7.0 indicates is that this two bytes are product signature. |
| 74 | + |
73 | 75 | 4. __data[7]__ represents whether it is __commercial license__ or __non-commercial license__.
|
74 | 76 |
|
75 | 77 | For __Navicat 12 x64__: `0x65` is __commercial license__, `0x66` is __non-commercial license__.
|
|
78 | 80 | _`May change when Navicat product changes. Uncertain yet.`_
|
79 | 81 | _`Must change when version change.`_
|
80 | 82 |
|
| 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 | + |
81 | 85 | 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`.
|
82 | 86 |
|
83 | 87 | For __Navicat 12 x64__: High 4 bits must be `1100`, which is the binary of number `12`.
|
84 | 88 | For __Navicat 11 x64__: High 4 bits must be `1011`, which is the binary of number `11`.
|
85 | 89 |
|
86 |
| - _`Must change when version change.`_ |
| 90 | + _`Must change when version change. Confirmed by Navicat 12 for Mac x64 with IDA Pro 7.0`_ |
87 | 91 |
|
88 | 92 | 6. __data[9]__ is unknown, but you can set it `0xFD` or `0xFC` or `0xFB` if you want to use __not-for-resale license__.
|
89 | 93 |
|
90 | 94 | _`May change when Navicat product changes. Uncertain yet.`_
|
91 | 95 |
|
| 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 | + |
92 | 106 | After that. Navicat use __DES__ with __ECB mode__ to encrypt the last 8 bytes which are from __data[2]__ to __data[9]__.
|
93 | 107 |
|
94 | 108 | The DES key is:
|
|
97 | 111 | unsigned char DESKey = { 0x64, 0xAD, 0xF3, 0x2F, 0xAE, 0xF2, 0x1A, 0x27 };
|
98 | 112 | ```
|
99 | 113 |
|
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.)__ |
101 | 115 |
|
102 | 116 | 1. Regard __data[10]__ as a 80-bits-long data.
|
103 | 117 |
|
|
0 commit comments