منتدي اكواد

منتدي اكواد (https://code.vpscairo.com/index.php)
-   تطوير سيرفرات كونكر (https://code.vpscairo.com/forumdisplay.php?f=11)
-   -   بكتات الدخول سورس احمد فاتحي (https://code.vpscairo.com/showthread.php?t=3020)

midoazoz 2019-11-19 05:40 PM

بكتات الدخول سورس احمد فاتحي
 
يا جدعان انا مليش في الثري دي ولا البروتتو ولا الجو ده
بس انا حلتلكم الايرورات الي بتجيلكم

وياريت حد يجرب ويقلي هيشتغل ولا لا

ولو لا هعدل الموضوع وانزلكم حل تاني بس نجرب ده الاول

اولا

هتفتح

كود PHP:

Auth.cs 

امسح الي فيه وحط ده

كود PHP:

using SomailProject.Network.Cryptography;
using System;
using System.IO;
using System.Text;

namespace 
SomailProject.Network.AuthPackets
{
    public 
unsafe class Authentications Interfaces.IPacket
    
{
        public 
string Username;
        public 
string Password;
        public 
string Server;
        public 
string MacAddress;

        public 
Authentications()
        {
        }
        public 
void Deserialize(byte[] buffer)
        {
            if (
buffer.Length == 312)
            {
                
ushort length BitConverter.ToUInt16(buffer0);

                if (
length == 312)
                {

                    
ushort type BitConverter.ToUInt16(buffer2);
                    
byte[] temp = new byte[16];
                    if (
type == 1636)
                    {
                        
MemoryStream MS = new MemoryStream(buffer);
                        
BinaryReader BR = new BinaryReader(MS);
                        
BR.ReadUInt16();
                        
BR.ReadUInt16();
                        
Username Encoding.Default.GetString(BR.ReadBytes(32)).Replace("\0""");
                        
BR.ReadBytes(36);
                        var 
PasswordArray BR.ReadBytes(32);
                        
LoaderEncryption.Decrypt(PasswordArray32);
                        
Password Username;
                        
BR.ReadBytes(32);
                        
Server Encoding.Default.GetString(BR.ReadBytes(16)).Replace("\0"""); ;
                        
MacAddress Encoding.Default.GetString(BR.ReadBytes(12)).Replace("\0""");
                        
BR.Close();
                        
MS.Close();
                    }
                }
            }
            
//   Password ==  Username
            //    
        
}
        public 
byte[] ToArray()
        {
            throw new 
NotImplementedException();
        }
        public 
void Send(Client.GameState client)
        {
            throw new 
NotImplementedException();
        }
    }

}


namespace 
SomailProject.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 0arr.Lengthi++)
            {
                
arr[i] ^= Key[length];
                
arr[i] ^= Key[(1) % length];

            }
        }
        public static 
void Decrypt(byte[] arrint size)
        {
            
int length Key.Length;
            for (
int i 0sizei++)
            {
                
arr[i] ^= Key[(1) % length];
                
arr[i] ^= Key[length];

            }
        }
    }


هتخش ع LoaderEncryption.cs امسح الي فيه كله

ملف Forward زي مهو زي ما احمد منزله

بالنسبه ل program

هتبحث عن ده قبل متحطوا حاجه

كود PHP:

static void AuthServer_OnClientReceive(byte[] bufferint lengthClientWrapper arg3

اقفله وبدل بده

كود PHP:

public static void AuthServer_OnClientReceive(byte[] bufferint lengthClientWrapper arg3)
        {
            var 
player arg3.Connector as Client.AuthClient;
            
AuthClient authClient arg3.Connector as AuthClient;
            
player.Cryptographer.Decrypt(bufferlength);
            
player.Queue.Enqueue(bufferlength);
            while (
player.Queue.CanDequeue())
            {
                
byte[] packet player.Queue.Dequeue();
                
ushort len BitConverter.ToUInt16(packet0);
                if (
len == 312)
                {
                    
player.Info = new Authentications();
                    
player.Info.Deserialize(packet);
                    
player.Account = new AccountTable(player.Info.Username);
                    if (!
LoginBruteForce.AcceptJoin(arg3.IP))
                    {
                        
Console.WriteLine(string.Concat(new string[] { "Client > "player.Info.Username"was blocked address"arg3.IP"!" }));
                        
arg3.Disconnect();
                        break;
                    }
                    
Forward Fw = new Forward();
                    
System.Console.WriteLine("UserName: {0} Password: {1} ServerName: {2} Online"player.Info.Usernameplayer.Info.Passwordplayer.Info.Server);
                    if (
player.Account.Username == player.Info.Username && player.Account.exists)
                    {
                        if (
player.Account.Password == player.Info.Password && player.Account.exists)
                        {
                            
Fw.Identifier player.Account.GenerateKey();
                            
Kernel.AwaitingPool[Fw.Identifier] = player.Account;
                            
Fw.IP GameIP;
                            
Fw.Port GamePort;
                        }
                        else
                        {
                            
LoginBruteForce.ClientRegistred(arg3.IP);
                            
Fw.Type Forward.ForwardType.InvalidInfo;
                        }
                    }
                    else
                    {
                        
Fw.Type Forward.ForwardType.WrongAccount;
                    }
                    
player.Send(Fw);
                }
            }
        } 


وتبحث عن

كود PHP:

static void GameServer_OnClientReceive(byte[] bufferint lengthClientWrapper obj

اقفله وبدله بده

كود PHP:

private static void GameServer_OnClientReceive(byte[] bufferint lengthClientWrapper obj)
        {
            if (
obj.Connector == null)
            {
                
obj.Disconnect();
            }
            else
            {
                
GameState connector obj.Connector as GameState;
                if (
connector.Exchange)
                {
                    
connector.Exchange false;
                    
connector.Action = (byte)1;
                    
SomailProject.Network.Cryptography.GameCryptography gameCryptography = new SomailProject.Network.Cryptography.GameCryptography(Encoding.Default.GetBytes(Constants.GameCryptographyKey));
                    
byte[] numArray = new byte[length];
                    Array.
Copy((Array)buffer, (Array)numArraylength);
                    
gameCryptography.Decrypt(numArraylength);
                    
bool flag false;
                    
int offset 0;
                    for (
int x 080x++)
                    {
                        if (
BitConverter.ToInt32(numArrayx) == 128)
                        {
                            if (
length >= 205)
                            {
                                
offset x;
                                
flag true;
                                
connector.Cryptography.Decrypt(bufferlength 40);
                            }
                            else
                            {
                                
offset x;
                                
connector.Cryptography.Decrypt(bufferlength);
                            }
                        }
                    }
                    
int int32 BitConverter.ToInt32(bufferoffset);
                    
int index1 offset 4;
                    if (
int32 != 128)
                    {
                        
connector.Disconnect(true);
                    }
                    else
                    {
                        
byte[] bytes = new byte[128];
                        
int index2 0;
                        while (
index2 int32)
                        {
                            
bytes[index2] = buffer[index1];
                            ++
index2;
                            ++
index1;
                        }
                        
string PublicKey Encoding.Default.GetString(bytes);
                        
connector.Cryptography connector.DHKeyExchange.HandleClientKeyPacket(PublicKeyconnector.Cryptography);
                        if (!
flag)
                            return;
                        
byte[] buffer1 = new byte[40];
                        
Buffer.BlockCopy((Array)bufferlength 40, (Array)buffer1040);
                        
processData(buffer140connector);
                    }
                }
                else
                    
processData(bufferlengthconnector);
            }
        } 

طبعا في ايرور مفيش مشكله

هتروح

المسار

Network_ AuthPackets

واعمل كلاس جديد اسمها

PacketLoginForce.cs

وضيف فيه ده

كود PHP:




using System
;
using System.Threading;
using System.Collections.Generic;
using System.Collections.Concurrent;
using SomailProject;

namespace 
SomailProject.Network.Sockets
{
    public 
unsafe class LoginBruteForce
    
{
        public class 
ClientLogin
        
{
            public 
string IPAdres;
            public 
Time32 Timer;
            public 
uint Trying;
        }
        public static 
object SyncRoot;
        public static 
void CreatePoll()
        {
            
SyncRoot = new object();
            
World.Subscribe(new Action<int>(Work), 500ThreadPriority.Normal);
        }
        public static 
void Work(int Time)
        {
            
ConcurrentQueue<intconcurrentQueue = new ConcurrentQueue<int>();
            
Time32 now Time32.Now;
            foreach (
KeyValuePair<intClientLogincurrent in Registered)
            {
                if (
now current.Value.Timer.AddSeconds(30))
                {
                    if (
current.Value.Trying 0)
                    {
                        
current.Value.Timer Time32.Now;
                        
current.Value.Trying -= 1;
                    }
                    else
                    {
                        
concurrentQueue.Enqueue(current.Key);
                    }
                }
            }
            
int key 0;
            while (
concurrentQueue.TryDequeue(out key))
            {
                
ClientLogin clientLogin;
                
Registered.TryRemove(keyout clientLogin);
            }
        }
        public static 
bool AcceptJoin(string Adres)
        {
            
int hashCode Adres.GetHashCode();
            
ClientLogin clientLogin;
            return !
Registered.TryGetValue(hashCodeout clientLogin) || clientLogin.Trying 5;
        }
        public static 
void ClientRegistred(string Adrres)
        {
            
//lock (SyncRoot)
            
{
                
int hashCode Adrres.GetHashCode();
                
ClientLogin clientLogin;
                if (
Registered.TryGetValue(hashCodeout clientLogin))
                {
                    
clientLogin.Trying += 1;
                    
clientLogin.Timer Time32.Now;
                }
                else
                {
                    
clientLogin = new ClientLogin();
                    
clientLogin.IPAdres Adrres;
                    
clientLogin.Timer Time32.Now;
                    
clientLogin.Trying 1;
                    
Registered.TryAdd(hashCodeclientLogin);
                }
            }
        }
        public static 
ConcurrentDictionary<intClientLoginRegistered = new ConcurrentDictionary<intClientLogin>();
    }


ومتنساش constant لل kay

كده هيشتغل بنسبه 100% يشباب انا مجربتش برده بس باذن الله يشتغل

midoazoz 2019-11-19 05:56 PM

رد: بكتات الدخول سورس احمد فاتحي
 
لو جالك ايرور بعد متعمل rebuild
هتلاقيه في

Authentication

خليها

Authentications

وبس تمام كده

ALz3em 2019-11-19 06:24 PM

رد: بكتات الدخول سورس احمد فاتحي
 
بص اصحبى الحل دا والحل التانى للاسف مش بيدخلوا على الجيم
بيتم الدخول على القنصل بيظهر ان الاكونت فتح
بس صفحة اللعبه بتفضل واقفه في نص الشريط ومش بيدخل
شكرا على تعبك

محمد ياسر 2019-11-19 06:50 PM

رد: بكتات الدخول سورس احمد فاتحي
 
نفس المشكله الاسم ذي كلمة السر
كود PHP:

Password Username


midoazoz 2019-11-19 07:36 PM

رد: بكتات الدخول سورس احمد فاتحي
 
اقتباس:

المشاركة الأصلية كتبت بواسطة alz3em (المشاركة 22450)
بص اصحبى الحل دا والحل التانى للاسف مش بيدخلوا على الجيم
بيتم الدخول على القنصل بيظهر ان الاكونت فتح
بس صفحة اللعبه بتفضل واقفه في نص الشريط ومش بيدخل
شكرا على تعبك

تمام ولا يهمك
انا هحاول احمل الكلينت واشوف لان انا نزلتها من غير مجرب مجرد بصيت ع الاكواد بس
عموما هشوفها وهنزلها تاني باذن الله بالتجربه

ALz3em 2019-11-19 09:13 PM

رد: بكتات الدخول سورس احمد فاتحي
 
اقتباس:

المشاركة الأصلية كتبت بواسطة midoazoz (المشاركة 22461)
تمام ولا يهمك
انا هحاول احمل الكلينت واشوف لان انا نزلتها من غير مجرب مجرد بصيت ع الاكواد بس
عموما هشوفها وهنزلها تاني باذن الله بالتجربه

حبيبى تسلم في أنتظارك

HBESA 2019-11-20 12:16 AM

رد: بكتات الدخول سورس احمد فاتحي
 
طيب يسطي دلواتي بتوقف في نص مش بيردها يفتح اي الحل

عفواً لايمكن عرض الروابط إلا بعد الرد على الموضوع

stafyx 2019-11-20 12:34 PM

رد: بكتات الدخول سورس احمد فاتحي
 
بيقف فى النص

Rider 2019-11-21 09:51 AM

رد: بكتات الدخول سورس احمد فاتحي
 
عاش + رجاء متابعة مشاكل الاعضاء

Adel Abd El Hay 2019-11-29 03:39 AM

رد: بكتات الدخول سورس احمد فاتحي
 
مفيش حد وصل لجديد ف المشكله دي يارجاله ؟


الساعة الآن 06:33 AM

مرحبا بكم في منتدي اكواد لتطوير الالعاب