I'll try to speak only important part in understanding the structure of the file.
acl files, 188 bytes is assigned to each character that total 940 bytes.
Among the components of 188 bytes, the important part is the following.
When the server encrypts/decrypts the acl files are working off by 4 bytes.
Encryption/Decryption key code is as follows.
Example:
acl original | Encryption(packet)
---------------------------
00 00 00 00 <-> 78 9D 01 F5
00 01 00 00 <-> 78 9C E6 49
A5 00 00 00 <-> DD 3A F2 79
00 FF 00 00 <-> 78 62 CE 12
00 00 00 00 00 01 00 00 A5 00 00 00 <-> 78 9D 01 F5 78 9C E6 49 DD 3A F2 79
Tips on 562 Client:
Algorithm, encryption/decryption of the packet is also a 562 Client.
The only changes are the part that represents the type of character.
Initial value
219 Client | 562 Client
-------------------------
00 FF 00 00 | 00 00 FF 00
If there are any characters
219 Client | 562 Client
-------------------------
00 CL TW 00 | 00 01 CL TW
CL: Type of character (When you delete a character, FF)
TW: Hometown
How to solve this problem (choose one)
1. Debug and fix the AS.
2. Use to change the acl packet in 562 ZA.
acl files, 188 bytes is assigned to each character that total 940 bytes.
Among the components of 188 bytes, the important part is the following.
When the server encrypts/decrypts the acl files are working off by 4 bytes.
Encryption/Decryption key code is as follows.
Code:
CSimpleCrypt::CSimpleCrypt()
{
m_ConstKey1 = 2366183;
m_ConstKey2 = 1432754;
m_DynamicKey = 79984829;
}
CSimpleCrypt::~CSimpleCrypt()
{
}
void CSimpleCrypt::Encrypt32bit(const char * pSrc, char * pDest)
{
int DynamicKey = m_DynamicKey;
for (int i = 0 ; i < 4 ; i++)
{
pDest[i] = (char)((BYTE)(pSrc[i]) ^ (DynamicKey >> 8));
DynamicKey = ((BYTE)(pDest[i]) + DynamicKey) * m_ConstKey1 + m_ConstKey2;
}
}
void CSimpleCrypt::Decrypt32bit(const char * pSrc, char * pDest)
{
int DynamicKey = m_DynamicKey;
for (int i = 0 ; i < 4 ; i++)
{
pDest[i] = (char)((BYTE)(pSrc[i]) ^ (DynamicKey >> 8));
DynamicKey = ((BYTE)(pSrc[i]) + DynamicKey) * m_ConstKey1 + m_ConstKey2;
}
}
Example:
acl original | Encryption(packet)
---------------------------
00 00 00 00 <-> 78 9D 01 F5
00 01 00 00 <-> 78 9C E6 49
A5 00 00 00 <-> DD 3A F2 79
00 FF 00 00 <-> 78 62 CE 12
00 00 00 00 00 01 00 00 A5 00 00 00 <-> 78 9D 01 F5 78 9C E6 49 DD 3A F2 79
Tips on 562 Client:
Algorithm, encryption/decryption of the packet is also a 562 Client.
The only changes are the part that represents the type of character.
Initial value
219 Client | 562 Client
-------------------------
00 FF 00 00 | 00 00 FF 00
If there are any characters
219 Client | 562 Client
-------------------------
00 CL TW 00 | 00 01 CL TW
CL: Type of character (When you delete a character, FF)
TW: Hometown
How to solve this problem (choose one)
1. Debug and fix the AS.
2. Use to change the acl packet in 562 ZA.
Attachments
You must be registered for see attachments list
Last edited: