From 7007bed6073c77262af480ad19360203690e98fa Mon Sep 17 00:00:00 2001 From: AfonsoCMSousa Date: Fri, 28 Feb 2025 19:11:06 +0000 Subject: [PATCH] New encryption method on the server side. --- bin/KeyMaster_server | Bin 34448 -> 34584 bytes include/dynmem.c | 9 ++++++--- include/dynmem.h | 2 +- src/server.c | 2 +- 4 files changed, 8 insertions(+), 5 deletions(-) diff --git a/bin/KeyMaster_server b/bin/KeyMaster_server index 084505ef67081808bd36ea86fd4ef7c10a4e8474..10fa24e2d77bc6bbf20d2929cb0dcd846cfcfbc1 100755 GIT binary patch literal 34584 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 QtN0*KxA{0VprmS^xk5 diff --git a/include/dynmem.c b/include/dynmem.c index da693d1..43255df 100644 --- a/include/dynmem.c +++ b/include/dynmem.c @@ -66,11 +66,13 @@ void writel(const char *filepath, void *buffer, size_t size) #endif } -void emcryptText(int *output, char *password) +void encryptText(int *output, char *password) { for (int i = 0; i < 256; i++) { - output[i] = (int)password[i] * 2; + output[i] = (int)password[i]; + output[i] ^= 0xFF; // Invert bitwise all characters in the password + output[i] = output[i] * 2; } } @@ -78,6 +80,7 @@ void decryptText(char *output, int *password) { for (int i = 0; i < 256; i++) { - output[i] = (char)(password[i] / 2); + int temp = password[i] / 2; + output[i] = (char)(temp ^ 0xFF); // Reverse the XOR and division operations } } diff --git a/include/dynmem.h b/include/dynmem.h index 9b6910f..1c2be51 100644 --- a/include/dynmem.h +++ b/include/dynmem.h @@ -55,7 +55,7 @@ int readl(const char *filepath, void *buffer, size_t size); //@param filepath Path to the file @param buffer Buffer to store the file @param size Size parameter specifies the number of bytes to read void writel(const char *filepath, void *buffer, size_t size); //@param filepath Path to the file @param buffer Buffer to write to the file @param size Size parameter specifies the number of bytes to write -void emcryptText(int *output, char *password); //@param output Output buffer to store the encrypted text @param password Password to encrypt the text +void encryptText(int *output, char *password); //@param output Output buffer to store the encrypted text @param password Password to encrypt the text void decryptText(char *output, int *password); //@param output Output buffer to store the decrypted text @param password Password to decrypt the text diff --git a/src/server.c b/src/server.c index c46d2db..4650601 100644 --- a/src/server.c +++ b/src/server.c @@ -168,7 +168,7 @@ int main(void) printf("Writing key to file: %s\n", filepath); int key2[256]; - emcryptText(key2, req.key); + encryptText(key2, req.key); writel(filepath, key2, 256); break; }