mirror of
https://github.com/Neo-Desktop/WindowsXPKg
synced 2025-06-24 06:24:16 +03:00
Compare commits
8 Commits
a66e579377
...
25ed8d4f43
Author | SHA1 | Date | |
---|---|---|---|
25ed8d4f43 | |||
324688e9ef | |||
6ae46d6aa2 | |||
e07c080ee8 | |||
ce9ff7e624 | |||
714895c61b | |||
6ecf9c5309 | |||
9f7d53dab3 |
23
src/cli.cpp
23
src/cli.cpp
@ -71,7 +71,8 @@ void CLI::showHelp(char *argv[]) {
|
|||||||
fmt::print("\t-u --upgrade\tspecifies the Product Key will be an \"Upgrade\" version\n");
|
fmt::print("\t-u --upgrade\tspecifies the Product Key will be an \"Upgrade\" version\n");
|
||||||
fmt::print("\t-V --validate\tproduct key to validate signature\n");
|
fmt::print("\t-V --validate\tproduct key to validate signature\n");
|
||||||
fmt::print("\t-N --nonewlines\tdisables newlines (for easier embedding in other apps)\n");
|
fmt::print("\t-N --nonewlines\tdisables newlines (for easier embedding in other apps)\n");
|
||||||
fmt::print("\t-o --override\tDisables version check for confirmation ID's, if you need this send an issue on GitHub");
|
fmt::print("\t-o --override\tDisables version check for confirmation IDs, if you need this send an issue on GitHub\n");
|
||||||
|
fmt::print("\t-D --nodashes\tDisables dashes in product keys and confirmation IDs (for easier copy-pasting)");
|
||||||
fmt::print("\n");
|
fmt::print("\n");
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -94,6 +95,7 @@ int CLI::parseCommandLine(int argc, char* argv[], Options* options) {
|
|||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
false,
|
false,
|
||||||
|
false,
|
||||||
MODE_BINK1998_GENERATE,
|
MODE_BINK1998_GENERATE,
|
||||||
WINDOWS
|
WINDOWS
|
||||||
};
|
};
|
||||||
@ -214,6 +216,8 @@ int CLI::parseCommandLine(int argc, char* argv[], Options* options) {
|
|||||||
options->nonewlines = true;
|
options->nonewlines = true;
|
||||||
} else if (arg == "-o" || arg == "--override") {
|
} else if (arg == "-o" || arg == "--override") {
|
||||||
options->overrideVersion = true;
|
options->overrideVersion = true;
|
||||||
|
} else if (arg == "-D" || arg == "--nodashes") {
|
||||||
|
options->nodashes = true;
|
||||||
} else {
|
} else {
|
||||||
options->error = true;
|
options->error = true;
|
||||||
}
|
}
|
||||||
@ -327,9 +331,14 @@ void CLI::printID(DWORD *pid) {
|
|||||||
|
|
||||||
void CLI::printKey(char *pk) {
|
void CLI::printKey(char *pk) {
|
||||||
assert(strlen(pk) >= PK_LENGTH);
|
assert(strlen(pk) >= PK_LENGTH);
|
||||||
|
std::string keyFormat = "{}-{}-{}-{}-{}";
|
||||||
|
|
||||||
|
if (this->options.nodashes == true) {
|
||||||
|
keyFormat = "{}{}{}{}{}";
|
||||||
|
}
|
||||||
|
|
||||||
std::string spk = pk;
|
std::string spk = pk;
|
||||||
fmt::print("{}-{}-{}-{}-{}",
|
fmt::print(keyFormat,
|
||||||
spk.substr(0,5),
|
spk.substr(0,5),
|
||||||
spk.substr(5,5),
|
spk.substr(5,5),
|
||||||
spk.substr(10,5),
|
spk.substr(10,5),
|
||||||
@ -591,7 +600,17 @@ int CLI::ConfirmationID() {
|
|||||||
return 1;
|
return 1;
|
||||||
|
|
||||||
case SUCCESS:
|
case SUCCESS:
|
||||||
|
if (this->options.nodashes == true) {
|
||||||
|
int j = 0;
|
||||||
|
for (int i = 0; confirmation_id[i] != '\0'; ++i) {
|
||||||
|
if (confirmation_id[i] != '-') {
|
||||||
|
confirmation_id[j++] = confirmation_id[i];
|
||||||
|
}
|
||||||
|
}
|
||||||
|
confirmation_id[j] = '\0';
|
||||||
|
}
|
||||||
fmt::print(confirmation_id);
|
fmt::print(confirmation_id);
|
||||||
|
|
||||||
if (this->options.nonewlines == false) {
|
if (this->options.nonewlines == false) {
|
||||||
fmt::print("\n");
|
fmt::print("\n");
|
||||||
}
|
}
|
||||||
|
@ -69,6 +69,7 @@ struct Options {
|
|||||||
bool list;
|
bool list;
|
||||||
bool nonewlines;
|
bool nonewlines;
|
||||||
bool overrideVersion;
|
bool overrideVersion;
|
||||||
|
bool nodashes;
|
||||||
|
|
||||||
MODE applicationMode;
|
MODE applicationMode;
|
||||||
ACTIVATION_ALGORITHM activationMode;
|
ACTIVATION_ALGORITHM activationMode;
|
||||||
@ -93,7 +94,7 @@ public:
|
|||||||
static int parseCommandLine(int argc, char* argv[], Options *options);
|
static int parseCommandLine(int argc, char* argv[], Options *options);
|
||||||
static int validateCommandLine(Options* options, char *argv[], json *keys);
|
static int validateCommandLine(Options* options, char *argv[], json *keys);
|
||||||
static void printID(DWORD *pid);
|
static void printID(DWORD *pid);
|
||||||
static void printKey(char *pk);
|
void printKey(char *pk);
|
||||||
static bool stripKey(const char *in_key, char out_key[PK_LENGTH]);
|
static bool stripKey(const char *in_key, char out_key[PK_LENGTH]);
|
||||||
|
|
||||||
int BINK1998Generate();
|
int BINK1998Generate();
|
||||||
|
Reference in New Issue
Block a user