عرض مشاركة واحدة
احصائياتى

الردود
18

المشاهدات
10684
 
Mostafa Shalby

Mostafa Shalby is on a distinguished road

    غير متواجد

المشاركات
201

+التقييم
0.10

تاريخ التسجيل
Oct 2019

الاقامة

نظام التشغيل

رقم العضوية
2274
2019-10-29, 01:36 PM
المشاركة 1 
#1  
Important طريقه تشغيل السورس البروتو New Sourc 3d Porto
طبعا الموضوع باين من الاسم
ولل محملش السورس
عفواً لايمكن عرض الرابط إلا بعد الرد على الموضوع
أول حاجه هتخش ع
Program.cs
ابحث عن

كود:
Protection.LoaderProgram.Init(); 

امسحو
ابحث عن

كود:
#region GameServer|AuthServer 

و بدله كله ب ده

كود:
#region GameServer|AuthServer
        
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;
                    
EgyXos.Network.Cryptography.GameCryptography gameCryptography = new EgyXos.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);
            }
        }
        private static 
void processData(byte[] bufferint lengthClient.GameState Client)
        {
            
Client.Cryptography.Decrypt(bufferlength);
            
Client.Queue.Enqueue(bufferlength);
            if (
Client.Queue.CurrentLength 1224)
            {
                
Console.WriteLine("[Disconnect]Reason:The packet size is too big. " Client.Queue.CurrentLength);
                
Client.Disconnect();
                return;
            }
            while (
Client.Queue.CanDequeue())
            {
                
byte[] data Client.Queue.Dequeue();
                
Network.PacketHandler.HandlePacket(dataClient);
            }
        }
        static 
void GameServer_OnClientConnect(ClientWrapper obj)
        {
            
Client.GameState client = new Client.GameState(obj);
            
client.Send(client.DHKeyExchange.CreateServerKeyPacket());
            
obj.Connector client;
        }
        static 
void GameServer_OnClientDisconnect(ClientWrapper obj)
        {
            if (
obj.Connector != null)
                (
obj.Connector as Client.GameState).Disconnect();
            else
                
obj.Disconnect();
        }

        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 EgyXos.Network.AuthPackets.Authentication();
                    
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();
                    
//Console.WriteLine("UserName: {0} Password: {1} ServerName: {2} Online", player.Info.Username, player.Info.Password, player.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);
                }
            }
        }


        static 
void AuthServer_OnClientDisconnect(ClientWrapper obj)
        {
            
obj.Disconnect();
        }
        static 
void AuthServer_OnClientConnect(ClientWrapper obj)
        {
            
Client.AuthClient authState;
            
obj.Connector = (authState = new Client.AuthClient(obj));
            
authState.Cryptographer = new Network.Cryptography.AuthCryptography();
            
Network.AuthPackets.PasswordCryptographySeed pcs = new PasswordCryptographySeed();
            
pcs.Seed Kernel.Random.Next();
            
authState.PasswordSeed pcs.Seed;
            
authState.Send(pcs);
           
// Protection.LoaderProgram.CLientsPass.Clear();////////
            //Protection.LoaderProgram.CLientsPass.Add(authState.PasswordSeed, "");
        
}
        
internal static Client.GameState FindClient(string name)
        {
            return 
GamePool.FirstOrDefault(=> p.Entity.LoweredName == name);
        }
        
#endregion 

وبعد كدا هتبحث عن

كود:
 public GameState(ClientWrapper socket

و بدله ب ده

كود:
public GameState(ClientWrapper socket)
        {
            
Fake socket == null;
            
Queue = new ConcurrentPacketQueue();
            
PacketFilter = new PacketFilter() { { 1001010 }, { 10005}, { 2064}, { 2032}, { 1027} };
            
Attackable false;
            
Action 0;
            
_socket socket;

            
ExtraStatus = new System.Collections.Concurrent.ConcurrentDictionary<Role.Instance.RoleStatus.StatuTypRole.Instance.RoleStatus>();
           
// Cryptography = new GameCryptography(Program.Encoding.GetBytes(AuthServer.GameLogginKeyServer));
            
Cryptography = new GameCryptography(Program.Encoding.GetBytes(Constants.GameCryptographyKey));

            
DHKeyExchange = new Network.GamePackets.DHKeyExchange.ServerKeyExchange();
            
//SpiritBeadQ = new Game.Features.SpiritBeadQuest(this);
            
ChiPowers = new List<ChiPowerStructure>();
            
Retretead_ChiPowers = new ChiPowerStructure[4];
            
//JiangPowers = new List<JiangPowerStructure>();
        


كلمة شكر تكفي