CHKREG Key Validator is a comprehensive Software Development Kit (SDK) CHKREG Key Validator is a comprehensive Software Development Kit (SDK) designed for developers to implement robust license key protection for their applications. It enables the secure generation, validation, and management of unique software keys, effectively preventing unauthorized use and piracy.
The validator supports various cryptographic algorithms, including RSA, SHA-1, and MD5, ensuring high security for license authentication. Developers can create custom key formats, bind licenses to specific hardware IDs, and manage trial periods or blacklisted keys. Its flexible API allows for easy integration into diverse software projects across different platforms.
By utilizing CHKREG, developers gain a powerful tool to safeguard their intellectual property, control software distribution, and protect their revenue streams from illegal copying.
/* +++Date last modified: 05-Jul-1997 */
/*************************************************************************
CHKREG.C - Validates a key created by REGIT.C
Donated to the Public Domain by Craig Morrison 12 May 1994, use,
abuse, fold, spindle or mutilate anyway you see fit.
*************************************************************************/
#include "regkey.h"
/*************************************************************************
CHKREG accepts two arguments on its command line; The key value in
hexadecimal generated by REGIT and a string. You should end up with
XOR_PRIME after the XOR manipulations, if not, then the given key
was invalid.
*************************************************************************/
int main(int argc, char *argv[])
{
long keyval;
long key;
char *p;
char buf[128];
if (argc>2)
{
strcpy(buf, argv[1]);
strupr(buf);
sscanf(buf, "%8lX", &keyval);
keyval ^= XOR_POST_CRYPT;
strcpy(buf, argv[2]);
p = strrev(buf);
while(*p)
{
if (*p=='_')
*p = ' ';
key = (long) toupper(*p);
key ^= (long)XOR_CRYPT;
keyval ^= key;
p++;
}
printf("Key value = %08lX hex.\n", keyval);
}
return 0;
}