diff --git a/README.md b/README.md index b2db746..4c98bf1 100644 --- a/README.md +++ b/README.md @@ -66,10 +66,19 @@ ~~_`May change when Navicat product changes. Uncertain yet.`_~~ _`Must change when Navicat product changes. Confirmed yet.`_ - For __Navicat 12 x64 English version__: They must be `0xAC` and `0x88` respectively. - For __Navicat 12 x64 Simplified Chinese version__: They must be `0xCE` and `0x32` respectively. - For __Navicat 12 x64 Traditional Chinese version__: They must be `0xAA` and `0x99` respectively. - For __Navicat 11 x64 Simplified Chinese version__: They must be `0xCE` and `0x32` respectively. + | Language | data[5] | data[6] | Discoverer | + |------------|-----------|-----------|-----------------| + | English | 0xAC | 0x88 | | + | 简体中文 | 0xCE | 0x32 | | + | 繁體中文 | 0xAA | 0x99 | | + | 日本語 | 0xAD | 0x82 | @dragonflylee | + | Polski | 0xBB | 0x55 | @dragonflylee | + | Español | 0xAE | 0x10 | @dragonflylee | + | Français | 0xFA | 0x20 | @Deltafox79 | + | Deutsch | 0xB1 | 0x60 | @dragonflylee | + | 한국어 | 0xB5 | 0x60 | @dragonflylee | + | Русский | 0xEE | 0x16 | @dragonflylee | + | Português | 0xCD | 0x49 | @dragonflylee | According to __Navicat 12 for Mac x64__ version, what IDA 7.0 indicates is that this two bytes are product signature. diff --git a/navicat-keygen/_tmain.cpp b/navicat-keygen/_tmain.cpp index e02d2d1..39f619f 100644 --- a/navicat-keygen/_tmain.cpp +++ b/navicat-keygen/_tmain.cpp @@ -35,9 +35,30 @@ void GenerateSnKey(char(&SnKey)[16]) { #elif defined(NAVICAT_CHT) temp_SnKey[5] = 0xAA; // Must be 0xAA for Traditional Chinese version. temp_SnKey[6] = 0x99; // Must be 0x99 for Traditional Chinese version. +#elif defined(NAVICAT_JAP) + temp_SnKey[5] = 0xAD; // Must be 0xAD for Japanese version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x82; // Must be 0x82 for Japanese version. Discoverer: @dragonflylee +#elif defined(NAVICAT_POL) + temp_SnKey[5] = 0xBB; // Must be 0xBB for Polish version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x55; // Must be 0x55 for Polish version. Discoverer: @dragonflylee +#elif defined(NAVICAT_SPA) + temp_SnKey[5] = 0xAE; // Must be 0xAE for Spanish version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x10; // Must be 0x10 for Spanish version. Discoverer: @dragonflylee #elif defined(NAVICAT_FRE) temp_SnKey[5] = 0xFA; // Must be 0xFA for French version. Discoverer: @Deltafox79 temp_SnKey[6] = 0x20; // Must be 0x20 for French version. Discoverer: @Deltafox79 +#elif defined(NAVICAT_GER) + temp_SnKey[5] = 0xB1; // Must be 0xB1 for German version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x60; // Must be 0x60 for German version. Discoverer: @dragonflylee +#elif defined(NAVICAT_KOR) + temp_SnKey[5] = 0xB5; // Must be 0xB5 for Korean version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x60; // Must be 0x60 for Korean version. Discoverer: @dragonflylee +#elif defined(NAVICAT_RUS) + temp_SnKey[5] = 0xEE; // Must be 0xB5 for Russian version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x16; // Must be 0x60 for Russian version. Discoverer: @dragonflylee +#elif defined(NAVICAT_POR) + temp_SnKey[5] = 0xCD; // Must be 0xCD for Portuguese version. Discoverer: @dragonflylee + temp_SnKey[6] = 0x49; // Must be 0x49 for Portuguese version. Discoverer: @dragonflylee #else #error "Navicat product type is not specified." #endif