More cleanups

- Enabled Packet Obfuscation by default.
- Added a bit of documentation.
This commit is contained in:
aleos89 2015-03-14 11:45:42 -04:00
parent 1be5665580
commit 1b69b981fa
2 changed files with 9 additions and 9 deletions

View File

@ -93,10 +93,10 @@
#define MAX_CHAR_VIP 0 #define MAX_CHAR_VIP 0
#endif #endif
/// Uncomment to enable the official packet obfuscation support. /// Comment to disable the official packet obfuscation support.
/// If enabled, make sure there is value for 'packet_keys' of used packet version or /// When enabled, make sure there is value for 'packet_keys' of used packet version or
/// redifned 'packet_keys_use' in db/[import/]packet_db.txt. /// defined 'packet_keys_use' in db/[import/]packet_db.txt.
//#define PACKET_OBFUSCATION #define PACKET_OBFUSCATION
/** /**
* No settings past this point * No settings past this point

View File

@ -17546,12 +17546,12 @@ static unsigned short clif_parse_cmd(int fd, struct map_session_data *sd) {
#ifndef PACKET_OBFUSCATION #ifndef PACKET_OBFUSCATION
return RFIFOW(fd, 0); return RFIFOW(fd, 0);
#else #else
unsigned short cmd = RFIFOW(fd,0); unsigned short cmd = RFIFOW(fd,0); // Check if it is a player that tries to connect to the map server.
if (sd) if (sd)
cmd = (cmd ^ ((sd->cryptKey >> 16) & 0x7FFF)); cmd = (cmd ^ ((sd->cryptKey >> 16) & 0x7FFF)); // Decrypt the current packet ID with the last key stored in the session.
else else
cmd = (cmd ^ ((((clif_cryptKey[0] * clif_cryptKey[1]) + clif_cryptKey[2]) >> 16) & 0x7FFF)); cmd = (cmd ^ ((((clif_cryptKey[0] * clif_cryptKey[1]) + clif_cryptKey[2]) >> 16) & 0x7FFF)); // A player tries to connect - use the initial keys for the decryption of the packet ID.
return cmd; return cmd; // Return the decrypted packet ID.
#endif #endif
} }
@ -18437,7 +18437,7 @@ void packetdb_readdb(bool reload)
if (packet_keys[clif_config.packet_db_ver]) if (packet_keys[clif_config.packet_db_ver])
use_key = clif_config.packet_db_ver; use_key = clif_config.packet_db_ver;
ShowInfo("Using default packet obfuscation keys for packet_db_ver:%d\n", use_key); ShowInfo("Using default packet obfuscation keys for packet_db_ver: %d\n", use_key);
memcpy(&clif_cryptKey, &packet_keys[use_key]->keys, sizeof(packet_keys[use_key]->keys)); memcpy(&clif_cryptKey, &packet_keys[use_key]->keys, sizeof(packet_keys[use_key]->keys));
} }
} }