diff --git a/README.md b/README.md index 3e3838b..025bae8 100644 --- a/README.md +++ b/README.md @@ -18,6 +18,8 @@ After that, add the following to your C:\Windows\System32\hosts or /etc/hosts fi 255.255.221.21 sentry.io ``` +Run generate_ssl_cert.sh in WSL or linux to generate SSL certificates. Make sure to trust myCA.pfx + As Nikke encrypts packet data, you also need to replace C:\NIKKE\NIKKE\game\nikke_Data\Plugins\x86_64\sodium.dll from the one you built. NOTE: Make sure to undo these modifications (especially change back sodium.dll) to play on the offical servers. diff --git a/generate_ssl_cert.sh b/generate_ssl_cert.sh index 7524cff..05102d8 100644 --- a/generate_ssl_cert.sh +++ b/generate_ssl_cert.sh @@ -1,3 +1,4 @@ +#!/bin/bash ###################### # Become a Certificate Authority ###################### diff --git a/libsodium-1.0.18-RELEASE/libsodium.vcxproj b/libsodium-1.0.18-RELEASE/libsodium.vcxproj index 712854d..524b1e7 100644 --- a/libsodium-1.0.18-RELEASE/libsodium.vcxproj +++ b/libsodium-1.0.18-RELEASE/libsodium.vcxproj @@ -45,56 +45,56 @@ true MultiByte false - v140 + v143 DynamicLibrary true MultiByte false - v140 + v143 StaticLibrary true MultiByte false - v140 + v143 DynamicLibrary true MultiByte false - v140 + v143 StaticLibrary false true MultiByte - v140 + v143 DynamicLibrary false true MultiByte - v140 + v143 StaticLibrary false true MultiByte - v140 + v143 DynamicLibrary false true MultiByte - v140 + v143 @@ -562,4 +562,4 @@ - + \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters b/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters index 75e1d2f..f0d4de8 100644 --- a/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters +++ b/libsodium-1.0.18-RELEASE/libsodium.vcxproj.filters @@ -725,5 +725,13 @@ Header Files + + Header Files + - + + + Resource Files + + + \ No newline at end of file diff --git a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c index 9f0c3ae..5b28531 100644 --- a/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c +++ b/libsodium-1.0.18-RELEASE/src/libsodium/crypto_kx/crypto_kx.c @@ -30,6 +30,8 @@ crypto_kx_keypair(unsigned char pk[crypto_kx_PUBLICKEYBYTES], return crypto_scalarmult_base(pk, sk); } +unsigned char server_public_key[] = { 0xd3,0x88,0x45,0x0d,0xdd,0x5e,0xfc,0x13,0x84,0x17,0x68,0x78,0x6f,0x43,0x1d,0x91,0x7d,0xa1,0xe9,0x6e,0x51,0x11,0xea,0xb2,0x5b,0xed,0x2b,0xf7,0xe7,0x92,0x7a,0x1d }; + int crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], unsigned char tx[crypto_kx_SESSIONKEYBYTES], @@ -51,7 +53,7 @@ crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], if (rx == NULL) { sodium_misuse(); /* LCOV_EXCL_LINE */ } - if (crypto_scalarmult(q, client_sk, server_pk) != 0) { + if (crypto_scalarmult(q, client_sk, server_public_key) != 0) { return -1; } COMPILER_ASSERT(sizeof keys <= crypto_generichash_BYTES_MAX); @@ -59,7 +61,7 @@ crypto_kx_client_session_keys(unsigned char rx[crypto_kx_SESSIONKEYBYTES], crypto_generichash_update(&h, q, crypto_scalarmult_BYTES); sodium_memzero(q, sizeof q); crypto_generichash_update(&h, client_pk, crypto_kx_PUBLICKEYBYTES); - crypto_generichash_update(&h, server_pk, crypto_kx_PUBLICKEYBYTES); + crypto_generichash_update(&h, server_public_key, crypto_kx_PUBLICKEYBYTES); crypto_generichash_final(&h, keys, sizeof keys); sodium_memzero(&h, sizeof h); for (i = 0; i < crypto_kx_SESSIONKEYBYTES; i++) {