From ce90ef2ade4e1c43a186dc4f5e320b13e281ec26 Mon Sep 17 00:00:00 2001 From: Double Sine Date: Thu, 26 May 2022 08:32:52 +0800 Subject: [PATCH] add support for ChartsCreator and ChartsViewer Signed-off-by: Double Sine --- navicat-keygen/CollectInformation.cpp | 8 +++++--- navicat-keygen/navicat_serial_generator.cpp | 8 +++++++- navicat-keygen/navicat_serial_generator.hpp | 4 +++- 3 files changed, 15 insertions(+), 5 deletions(-) diff --git a/navicat-keygen/CollectInformation.cpp b/navicat-keygen/CollectInformation.cpp index fd788ef..da83288 100644 --- a/navicat-keygen/CollectInformation.cpp +++ b/navicat-keygen/CollectInformation.cpp @@ -75,8 +75,10 @@ namespace nkg { std::cout << " 7. MariaDB" << std::endl; std::cout << " 8. MongoDB" << std::endl; std::cout << " 9. ReportViewer" << std::endl; + std::cout << " 10. ChartsCreator" << std::endl; + std::cout << " 11. ChartsViewer" << std::endl; std::cout << std::endl; - sn_generator.set_software_type(static_cast(read_int(0, 9, "(Input index)> ", "Invalid index."))); + sn_generator.set_software_type(static_cast(read_int(0, 11, "(Input index)> ", "Invalid index."))); std::cout << std::endl; std::cout << "[*] Select product language:" << std::endl; @@ -96,7 +98,7 @@ namespace nkg { std::cout << std::endl; std::cout << "[*] Input major version number:" << std::endl; - sn_generator.set_software_version(read_int(11, 16, 16, "(range: 11 ~ 16, default: 16)> ", "Invalid number.")); + sn_generator.set_software_version(read_int(1, 16, 16, "(range: 1 ~ 16, default: 16)> ", "Invalid number.")); std::cout << std::endl; return sn_generator; @@ -121,7 +123,7 @@ namespace nkg { std::cout << std::endl; std::cout << "[*] Input major version number:" << std::endl; - sn_generator.set_software_version(read_int(0, 15, 12, "(range: 0 ~ 15, default: 12)> ", "Invalid number.")); + sn_generator.set_software_version(read_int(1, 16, 16, "(range: 1 ~ 16, default: 16)> ", "Invalid number.")); std::cout << std::endl; return sn_generator; diff --git a/navicat-keygen/navicat_serial_generator.cpp b/navicat-keygen/navicat_serial_generator.cpp index 1fa8a87..b0120f3 100644 --- a/navicat-keygen/navicat_serial_generator.cpp +++ b/navicat-keygen/navicat_serial_generator.cpp @@ -119,6 +119,12 @@ namespace nkg { case navicat_software_type::ReportViewer: m_data[7] = 0xb; break; + case navicat_software_type::ChartsCreator: + m_data[7] = 0x86; + break; + case navicat_software_type::ChartsViewer: + m_data[7] = 0x88; + break; default: __builtin_unreachable(); } @@ -129,7 +135,7 @@ namespace nkg { } void navicat_serial_generator::set_software_version(int ver) { - if (11 <= ver && ver < 16) { + if (1 <= ver && ver < 16) { static_assert(sizeof(m_des_key) == sizeof(s_des_key0)); m_data[8] = static_cast((ver << 4) | (m_data[8] & 0x0f)); diff --git a/navicat-keygen/navicat_serial_generator.hpp b/navicat-keygen/navicat_serial_generator.hpp index 5820ae6..62c9beb 100644 --- a/navicat-keygen/navicat_serial_generator.hpp +++ b/navicat-keygen/navicat_serial_generator.hpp @@ -29,7 +29,9 @@ namespace nkg { SQLite, MariaDB, MongoDB, - ReportViewer + ReportViewer, + ChartsCreator, + ChartsViewer }; class navicat_serial_generator {