#include #include #include // Define the length of the serial number #define SERIAL_LENGTH 5 int verify_key(char *serial) { // Allocate a buffer to store the derived key (5 capital letters + null byte) char derived[SERIAL_LENGTH + 1] = {0}; // Derive the key from the serial by iterating over the serial // and subtracting 2 times the current index from each character for(int i = 0; i < SERIAL_LENGTH; i++) { derived[i] = serial[i] - 2 * i; } // Compare the derived key with the expected key "MMNNQ" if(strcmp(derived, "MMNNQ") == 0) return 1; // Return 1 if the keys match return 0; // Return 0 if the keys do not match } int main(int argc, char **argv) { // Buffer to store the user input (5 capital letters + null byte) char serial[SERIAL_LENGTH + 1] = {0}; // Read the serial number from the user and store it in the serial buffer printf("Enter serial (5 capital letters):\n"); scanf("%5s", serial); // Verify the serial number if(verify_key(serial)) { // Print this message if the serial is correct printf("Key is valid! Whoop whoop :)\n"); } else { // Print this message if the serial is not correct printf("Key is not valid :(\n"); } // End the program without errors return 0; }