بسم الله الرحمن الرحيم
بما ان بعد البتش الجديد ظهرت مشكلة عدم دخول الاكونت للسيرفر
و المشكلة دي واقفة مع ناس يامة وناس يامة ممعهمش لودر للسيرفرات ال3D
دلوقت بقا لودر محلول فية مشكلة الباتش الجديد 😎
نشوفو صورتين من جوا اللودر
نخش بقا لشرح التركيب
نخش علي كلاس
Authentication.cs
ونبدل الي فيية بدول
// ☺ Created by HecToR // ☺ Copyright © 2017 - 2018 TQ Digital // ☺ DarkWay - Project using COServer.Network.Cryptography; using System; using System.IO; using System.Text; namespace COServer.Network.AuthPackets { public unsafe class Authentication : Interfaces.IPacket { public string Username; public string Password; public string Server; public Authentication() { } public void Deserialize(byte[] buffer) { if (buffer.Length == 312) { ushort length = BitConverter.ToUInt16(buffer, 0); if (length == 312) { ushort type = BitConverter.ToUInt16(buffer, 2); byte[] temp = new byte[16]; if (type == 1542) { MemoryStream MS = new MemoryStream(buffer); BinaryReader BR = new BinaryReader(MS); BR.ReadUInt16(); BR.ReadUInt16(); Username = Encoding.Default.GetString(BR.ReadBytes(32)); Username = Username.Replace("// ☺ Created by HecToR // ☺ Copyright © 2017 - 2018 TQ Digital // ☺ DarkWay - Project using COServer.Network.Cryptography; using System; using System.IO; using System.Text; namespace COServer.Network.AuthPackets { public unsafe class Authentication : Interfaces.IPacket { public string Username; public string Password; public string Server; public Authentication() { } public void Deserialize(byte[] buffer) { if (buffer.Length == 312) { ushort length = BitConverter.ToUInt16(buffer, 0); if (length == 312) { ushort type = BitConverter.ToUInt16(buffer, 2); byte[] temp = new byte[16]; if (type == 1542) { MemoryStream MS = new MemoryStream(buffer); BinaryReader BR = new BinaryReader(MS); BR.ReadUInt16(); BR.ReadUInt16(); Username = Encoding.Default.GetString(BR.ReadBytes(32)); Username = Username.Replace("\0", ""); BR.ReadBytes(36); var PasswordArray = BR.ReadBytes(32); LoaderEncryption.Decrypt(PasswordArray, 32); Password = Encoding.Default.GetString(PasswordArray); Password = Password.Replace("\0", ""); BR.ReadBytes(32); Server = Encoding.Default.GetString(BR.ReadBytes(32)); Server = Server.Replace("\0", ""); BR.Close(); MS.Close(); } } } } public byte[] ToArray() { throw new NotImplementedException(); } public void Send(Client.GameState client) { throw new NotImplementedException(); } } }", ""); BR.ReadBytes(36); var PasswordArray = BR.ReadBytes(32); LoaderEncryption.Decrypt(PasswordArray, 32); Password = Encoding.Default.GetString(PasswordArray); Password = Password.Replace("// ☺ Created by HecToR // ☺ Copyright © 2017 - 2018 TQ Digital // ☺ DarkWay - Project using COServer.Network.Cryptography; using System; using System.IO; using System.Text; namespace COServer.Network.AuthPackets { public unsafe class Authentication : Interfaces.IPacket { public string Username; public string Password; public string Server; public Authentication() { } public void Deserialize(byte[] buffer) { if (buffer.Length == 312) { ushort length = BitConverter.ToUInt16(buffer, 0); if (length == 312) { ushort type = BitConverter.ToUInt16(buffer, 2); byte[] temp = new byte[16]; if (type == 1542) { MemoryStream MS = new MemoryStream(buffer); BinaryReader BR = new BinaryReader(MS); BR.ReadUInt16(); BR.ReadUInt16(); Username = Encoding.Default.GetString(BR.ReadBytes(32)); Username = Username.Replace("\0", ""); BR.ReadBytes(36); var PasswordArray = BR.ReadBytes(32); LoaderEncryption.Decrypt(PasswordArray, 32); Password = Encoding.Default.GetString(PasswordArray); Password = Password.Replace("\0", ""); BR.ReadBytes(32); Server = Encoding.Default.GetString(BR.ReadBytes(32)); Server = Server.Replace("\0", ""); BR.Close(); MS.Close(); } } } } public byte[] ToArray() { throw new NotImplementedException(); } public void Send(Client.GameState client) { throw new NotImplementedException(); } } }", ""); BR.ReadBytes(32); Server = Encoding.Default.GetString(BR.ReadBytes(32)); Server = Server.Replace("// ☺ Created by HecToR // ☺ Copyright © 2017 - 2018 TQ Digital // ☺ DarkWay - Project using COServer.Network.Cryptography; using System; using System.IO; using System.Text; namespace COServer.Network.AuthPackets { public unsafe class Authentication : Interfaces.IPacket { public string Username; public string Password; public string Server; public Authentication() { } public void Deserialize(byte[] buffer) { if (buffer.Length == 312) { ushort length = BitConverter.ToUInt16(buffer, 0); if (length == 312) { ushort type = BitConverter.ToUInt16(buffer, 2); byte[] temp = new byte[16]; if (type == 1542) { MemoryStream MS = new MemoryStream(buffer); BinaryReader BR = new BinaryReader(MS); BR.ReadUInt16(); BR.ReadUInt16(); Username = Encoding.Default.GetString(BR.ReadBytes(32)); Username = Username.Replace("\0", ""); BR.ReadBytes(36); var PasswordArray = BR.ReadBytes(32); LoaderEncryption.Decrypt(PasswordArray, 32); Password = Encoding.Default.GetString(PasswordArray); Password = Password.Replace("\0", ""); BR.ReadBytes(32); Server = Encoding.Default.GetString(BR.ReadBytes(32)); Server = Server.Replace("\0", ""); BR.Close(); MS.Close(); } } } } public byte[] ToArray() { throw new NotImplementedException(); } public void Send(Client.GameState client) { throw new NotImplementedException(); } } }", ""); BR.Close(); MS.Close(); } } } } public byte[] ToArray() { throw new NotImplementedException(); } public void Send(Client.GameState client) { throw new NotImplementedException(); } } }
ونعمل كلاس جديد بالاسم دة :rolleyes:
LoaderEncryption.cs
وارمي دول فية
using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace COServer.Network.Cryptography { public class LoaderEncryption { private static byte[] Key = { 180, 152, 187, 196, 231, 208, 204, 120, 177, 164, 184, 77, 9, 125, 114, 49, 9, 191, 20, 122, 9, 39, 123, 17, 115, 222, 188, 120, 109, 9, 65, 206, 85, 10, 29, 215, 143, 108, 231, 114 }; public static void Encrypt(byte[] arr) { int length = Key.Length; for (int i = 0; i < arr.Length; i++) { arr[i] ^= Key[i % length]; arr[i] ^= Key[(i + 1) % length]; } } public static void Decrypt(byte[] arr, int size) { int length = Key.Length; for (int i = 0; i < size; i++) { arr[i] ^= Key[(i + 1) % length]; arr[i] ^= Key[i % length]; } } } }
وبعد كدة نخش كلاس
Constants.cs
نبحث فية عن 😎
GameCryptographyKey = "
نبدلة ب دة 😉
GameCryptographyKey = "z1Sf34V7z6AV13uA",
كدا الاضافة خلصت تمام 😉
نخش بقا ل تحميل اللودر
co.vpscairo.com
لو رابط التحميل مش شغال بلغ من هنا