I'm trying to make a tool which includes packet decryptation, however I'm stuck on decrypt results. My application gets KeyPacket and find the BF Key, then I use it with this formula:
public byte[] decryptRecv(byte[] raw, final int size)
{
if (!_isEnabled)
return null;
int temp = 0;
for (int i = 0; i < size; i++)
{
int temp2 = raw[i] & 0xFF;
raw[i] = (byte) (temp2 ^ _inKey[i&15] ^ temp);
temp = temp2;
}
int old = _inKey[8] &0xff;
old |= _inKey[9] << 8 &0xff00;
old |= _inKey[10] << 0x10 &0xff0000;
old |= _inKey[11] << 0x18 &0xff000000;
old += size;
_inKey[8] = (byte)(old &0xff);
_inKey[9] = (byte)(old >> 0x08 &0xff);
_inKey[10] = (byte)(old >> 0x10 &0xff);
_inKey[11] = (byte)(old >> 0x18 &0xff);
return raw;
}
This is the formula used by the emulators (gameserver part) but with the return of modified raw instead of void.
I checked if the hex key is fine, and it is.
Dunno if the conversion to byte is wrong, I'm using this:
public byte[] hexToBytes(String hex)
{
hex = hex.replaceAll(" ", "");
byte[] b = new BigInteger(hex, 16).toByteArray();
return b;
}
I'm comparing the decryptation results with PHX results. Once every 15 checks, it goes ok, but the others, some bytes are different from PHX.
You can post now and register later.
If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.
DISCORD :
https://discord.com/users/325653525793210378
utchiha_market
telegram :
https://t.me/utchiha_market
SELLIX STORE :
https://utchihamkt.mysellix.io/
Join our server for more products :
https://discord.gg/uthciha-services
https://campsite.bio/utchihaamkt
Question
KaL
I'm trying to make a tool which includes packet decryptation, however I'm stuck on decrypt results. My application gets KeyPacket and find the BF Key, then I use it with this formula:
This is the formula used by the emulators (gameserver part) but with the return of modified raw instead of void.
I checked if the hex key is fine, and it is.
Dunno if the conversion to byte is wrong, I'm using this:
I'm comparing the decryptation results with PHX results. Once every 15 checks, it goes ok, but the others, some bytes are different from PHX.
For example:
RequestAuthLogin of PHX
Now, the same packet on my application:
Bold hex are different of PHX. Also, the differences are always at these bytes.
What am I doing wrong?
Thanks
0 answers to this question
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.