link Loader Files in Client : https://www.mediafire.com/file/ktnuc38ljwwj78n/CSV3Hook+7710.rar/file
AccServer :
Change class Authentication.cs You Have To this Class
using System; using System.IO; using System.Text; using AccServer.Network.Cryptography; namespace AccServer.Network.AuthPackets { public unsafe class Authentication : Interfaces.IPacket { public string Username; public string Password; public string Server; public string Key; public Authentication() { } public void Deserialize(byte[] buffer) { try { ushort length = BitConverter.ToUInt16(buffer, 0); if (length == 472) { ushort type = BitConverter.ToUInt16(buffer, 2); byte[] temp = new byte[16]; if (type == 1942) { MemoryStream MS = new MemoryStream(buffer); BinaryReader BR = new BinaryReader(MS); BR.ReadUInt16(); BR.ReadUInt16(); byte UserLen = BR.ReadByte(); byte PwLen = BR.ReadByte(); byte ServerLen = BR.ReadByte(); ushort serial = BR.ReadUInt16(); BR.ReadByte(); Username = Encoding.Default.GetString(BR.ReadBytes(UserLen)); Username = Username.Replace(“\0“, “”); byte Size = (byte)(PwLen); byte[] passord = new byte[PwLen]; passord = BR.ReadBytes(PwLen); Password = LoaderEncryption.Decrypt(passord, Size); Server = Encoding.Default.GetString(BR.ReadBytes(ServerLen)); Server = Server.Replace(“\0“, “”); BR.Close(); MS.Close(); } } } catch { Console.WriteLine(“Invalid login packet.”); } } public unsafe byte[] ToArray() { throw new NotImplementedException(); } } }
Then Change This Class if You Have LoaderEncryption.cs To this
using System.Text; namespace AccServer.Network.Cryptography { public unsafe class LoaderEncryption { private static byte[] Key1 = Encoding.Default.GetBytes(“f0HOXPCZo6pB8K3YVA3QYldAeGoW9mCC”); private static byte[] Key2 = Encoding.Default.GetBytes(“jeiQoKKV7KmZ61Ss047mvmeYasTQiTM4”); public static string Decrypt(byte[] data, int Length) { for (int x = 0; x < Length; x++) { data[x] ^= Key1[x % Length]; data[x] ^= Key1[(x * 24 % 32) % Length]; data[x] ^= Key2[(x * 48 % 64) % Length]; } string pass = Encoding.Default.GetString(data).Replace(“\0“, “”); return pass; } } }
Loader Key in GameServer
LogginKey = R3Xx97ra5j8D6uZz
Don’t Forget if Your Old Loader is from magdy change this void CreateDHKey in your source to this void You Will Find The void in Class Program.cs
public unsafe static void CreateDHKey(ServerSockets.SecuritySocket obj, ServerSockets.Packet stream) { try { byte[] buffer = new byte[60]; bool extra = false; string text = System.Text.ASCIIEncoding.ASCII.GetString(obj.DHKeyBuffer.buffer, 0, obj.DHKeyBuffer.Length()); if (!text.EndsWith(“TQClient”)) { System.Buffer.BlockCopy(obj.EncryptedDHKeyBuffer.buffer, obj.EncryptedDHKeyBuffer.Length() – 60, buffer, 0, 60); extra = true; } string key; if (stream.GetHandshakeReplyKey(out key)) { obj.SetDHKey = true; obj.Game.DHKey.HandleResponse(key); var compute_key = obj.Game.DHKeyExchance.PostProcessDHKey(obj.Game.DHKey.ToBytes()); obj.Game.Crypto.GenerateKey(compute_key); obj.Game.Crypto.Reset(); } else { obj.Disconnect(); return; } if (extra) { stream.Seek(0); obj.Game.Crypto.Decrypt(buffer, 0, stream.Memory, 0, 60); stream.Size = buffer.Length; stream.Seek(2); ushort PacketID = stream.ReadUInt16(); Action<Client.GameClient, ServerSockets.Packet> hinvoker; if (Pool.MsgInvoker.TryGetInvoker(PacketID, out hinvoker)) { hinvoker(obj.Game, stream); } else { obj.Disconnect(); MyConsole.WriteLine(“[WARNING] DHKey not found | IP: “ + obj.RemoteIp, ConsoleColor.DarkYellow); } } } catch (Exception e) { MyConsole.WriteException(e); } }
i forget to say if you didn’t changed the old id packet you need to change it first and here is the new id packe\\