is there anyguid here about decrypting the information from the client
like AccountID and Password?!
like AccountID and Password?!
If I remember right, the account ID isn't decrypted. The password encryption routine can be found by reversing the client. The password decryption routine can be found by either reversing the binaries, or by inversing the encryption routine found in the client. If you want to use it in a higher level language, translate it from x86 to a higher level language.Quote:
is there anyguid here about decrypting the information from the client
like AccountID and Password?!
He, like me, may plan to reverse it to fully understand where and how it's done in the client in order to change the encryption.Quote:
Also the entire encryption is already public for current and past patches.... No need to reverse this stuff form scratch.
Take a look at immune's source. It has the liberate cryptography dll already in the project + example of how to use it.
string AccountName = "";
string password = "";
string ServerName = "";
if (Buffer.Length >= 276)
{
for (int i = 4; i < 0x114; i++)
{
if (i >= 0x14 && i < 0xf9)
{
if (Buffer[i] != 0x00)
password += (Convert.ToString(Buffer[i], 16)).PadLeft(2, '0');
}
if (i < 0x14)
if (Buffer[i] != 0x00)
AccountName += Convert.ToChar(Buffer[i]);
if (i > 0xfa)
if (Buffer[i] != 0x00)
ServerName += Convert.ToChar(Buffer[i]);
}
}
Console.WriteLine("[LoginServer] " + AccountName + " logging in to " + ServerName);
Username = Encoding.ASCII.GetString(BR.ReadBytes(16)).Trim('\0');
BR.ReadBytes(112);
Password = Encoding.ASCII.GetString(BR.ReadBytes(16));
BR.ReadBytes(112);
Server = Encoding.ASCII.GetString(BR.ReadBytes(16)).Trim('\0');
in c++ it's not working :)Quote:
i think thats what you need out of immune's sourcePHP Code:
string AccountName = "";
string password = "";
string ServerName = "";
if (Buffer.Length >= 276)
{
for (int i = 4; i < 0x114; i++)
{
if (i >= 0x14 && i < 0xf9)
{
if (Buffer[i] != 0x00)
password += (Convert.ToString(Buffer[i], 16)).PadLeft(2, '0');
}
if (i < 0x14)
if (Buffer[i] != 0x00)
AccountName += Convert.ToChar(Buffer[i]);
if (i > 0xfa)
if (Buffer[i] != 0x00)
ServerName += Convert.ToChar(Buffer[i]);
}
}
Console.WriteLine("[LoginServer] " + AccountName + " logging in to " + ServerName);