Restructure repository to include all source folders
Move git root from Client/ to src/ to track all source code: - Client: Game client source (moved to Client/Client/) - Server: Game server source - GameTools: Development tools - CryptoSource: Encryption utilities - database: Database scripts - Script: Game scripts - rylCoder_16.02.2008_src: Legacy coder tools - GMFont, Game: Additional resources 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
82
Server/NFAuthTool/NFAuthClient/NaveNet/NFPacket.cpp
Normal file
82
Server/NFAuthTool/NFAuthClient/NaveNet/NFPacket.cpp
Normal file
@@ -0,0 +1,82 @@
|
||||
#include "NFNet.h"
|
||||
#include "NFPacket.h"
|
||||
|
||||
#include "GZip/zlib.h"
|
||||
#pragma comment(lib,"zlib.lib")
|
||||
|
||||
namespace NaveNet {
|
||||
|
||||
NFPacket::NFPacket()
|
||||
{
|
||||
Init();
|
||||
}
|
||||
|
||||
NFPacket::~NFPacket()
|
||||
{
|
||||
}
|
||||
|
||||
VOID NFPacket::Init()
|
||||
{
|
||||
ZeroMemory(&m_Header, sizeof(PACKETHEADER));
|
||||
ZeroMemory(m_Packet, sizeof(m_Packet));
|
||||
}
|
||||
|
||||
int NFPacket::EncryptPacket()
|
||||
{
|
||||
// üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>.
|
||||
// 1. <20><><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD> (<28><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> Ŀ<>ǵ<EFBFBD> <20><><EFBFBD><EFBFBD>.)
|
||||
// 2. <20><>ȣȭ <20><> <20><><EFBFBD><EFBFBD>
|
||||
// 3. üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD>.
|
||||
m_Header.CheckSum = ((m_Header.Command+m_Header.Size+m_Packet[0]+m_Packet[1])^0xA6F69E23)^0x62F2EA02;
|
||||
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD> 100<30><30><EFBFBD><EFBFBD>Ʈ <20>̻<EFBFBD><CCBB≯<EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD>ϰ<EFBFBD> üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD>
|
||||
if(m_Header.Size >= 100)
|
||||
{
|
||||
m_Header.CheckSum = m_Header.CheckSum|0xF0000000;
|
||||
// <20><><EFBFBD><EFBFBD><EFBFBD>ϱ<EFBFBD>
|
||||
// m_Header.Size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uLongf destLen;
|
||||
int srcLen = GetSize();
|
||||
char srcBuff[DEF_PACKETSIZE];
|
||||
memcpy(srcBuff, m_Packet, srcLen);
|
||||
compress2((Bytef*)m_Packet, &destLen, (Bytef*)srcBuff, srcLen, 5);
|
||||
m_Packet[destLen]=0;
|
||||
SetSize((USHORT)destLen);
|
||||
}
|
||||
else
|
||||
m_Header.CheckSum = m_Header.CheckSum&0x0FFFFFFF;
|
||||
|
||||
return m_Header.Size;
|
||||
}
|
||||
|
||||
VOID NFPacket::DecryptPacket()
|
||||
{
|
||||
if(m_Header.CheckSum&0xF0000000)
|
||||
{
|
||||
// <20><><EFBFBD><EFBFBD>Ǯ<EFBFBD><C7AE>
|
||||
// m_Header.Size <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD> <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>
|
||||
uLongf destLen;
|
||||
int srcLen = GetSize();
|
||||
char srcBuff[DEF_PACKETSIZE];
|
||||
memcpy(srcBuff, m_Packet, srcLen);
|
||||
uncompress((Bytef*)m_Packet, &destLen, (Bytef*)srcBuff, srcLen);
|
||||
m_Packet[destLen]=0;
|
||||
SetSize((USHORT)destLen);
|
||||
}
|
||||
// üũ<C3BC><C5A9> <20><><EFBFBD><EFBFBD>
|
||||
m_Header.CheckSum = m_Header.CheckSum&0x0FFFFFFF;
|
||||
}
|
||||
|
||||
BOOL NFPacket::IsAliveChecksum()
|
||||
{
|
||||
DWORD CheckSum = ((m_Header.Command+m_Header.Size+m_Packet[0]+m_Packet[1])^0xA6F69E23)^0x62F2EA02;
|
||||
|
||||
CheckSum = CheckSum&0x0FFFFFFF;
|
||||
|
||||
if(m_Header.CheckSum == CheckSum)
|
||||
return TRUE;
|
||||
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user