404
نعتذر , لا نستطيع ايجاد الصفحة المطلوبة

لورد جديد لا يمكن تشغيل سيرفرك الا بيه بس و تحدى و من السورس مش الكلينت بس




ازيكم يا شباب انا انهردا جلتلكم لورد من كونكر طبعا اللورد دا 

مش من تكويدى انا جيبوا من تيم اكسور 

اللورد دا من تكويد

CorrM

اللورد اسمو 

CorrMLoader

التحميل اهو 


اولا هتحمل ملفات اللوردر
و تحطه فى الـكلينت على طول و توافق على الاستبدال

البورت و الهوست فى نفس الملف الى هنشرحه تحت

[ ملاحظه ] احذف هذا الملف [ csv3config.ini ] لو موجود عندك و اترك [ CSV3Hook.dll ]

,,

ثانيا هنفتح ملف [ CorrMconf.ini ]
فى الملف يوجد قيمه بأسم [ Buf ] دى تحط فيها اى رقم من 1 الى 254 بس ابعد عن 144 لانها مش هتغير شئ لو بقت 144
إقتباس المشاركة

من الاخر حط اى حاجه من 1 الى 254 بس بلاش 144 لانك مش هتعمل اى فرق و هيشتغل اى لوردر عادى جدا

فى الملف هتلافى القيمه [ AmountProg ] دى قيمتها هتغيرها على حسب الكلام الى هتقراه دلوقتى
تحت القيمه [ AmountProg ] هتحط القيم الى انتا عاوزها بنفس الشكل دا
Prog1=notepad.exe
Prog2=calc.exe
Prog3=cmc.exe
فى الحاله دى هنخلى قيمه [ AmountProg ] تبقى [ 3 ]
إقتباس المشاركة

يمكنك الاضافه كما تريد حتى لو اضفت 1000000 اسم او قيمه ,
الفايده منهم هو ان الكلينت نفسه مش اللورد هو الى هيقتل البرامج دى الى انتا هتحطها
[ عمل اللوردر بتاعى بينتهى بتشغيل الـكلينت و يغلق نفسه الكلينت بعد كدا هيتكفل بكل حاجه قتل البرامج و اكتشاف ان اللعبه اتفتح باللورد بتاعنا ولا لا ] ( الخلاصه ان البرامج دى طول ما اللعبه شغاله مستحيل انهم يشتغلو الا بس لو اللعبه اتقفلت )

ننتقل للسورس بقى

فى السورسات الجديده الى شبه سورس اسلام رضا
هنعمل الاتى

الملف [ Server.cs ]
ابحث عن [ AuthServer_OnClientReceive ] و بدله كلو بدا

static void AuthServer_OnClientReceive(byte[] buffer, int length, ClientWrapper arg3) 
        { 
            
// CorrMLoader 
            
bool IsCorrM = false; 

            
int CorrM_BUF = 50; 

            if (
buffer[4] == CorrM_BUF) 
                
IsCorrM = true; 
            else 
                
IsCorrM = false; 

            
buffer[4] = 144; 

            var 
player = arg3.Connector as Client.AuthClient; 
            
player.Cryptographer.Decrypt(buffer, length); 
            
player.Queue.Enqueue(buffer, length); 
            while (
player.Queue.CanDequeue()) 
            { 
                
byte[] packet = player.Queue.Dequeue(); 
                
ushort len = BitConverter.ToUInt16(packet, 0); 
                
ushort id = BitConverter.ToUInt16(packet, 2); 
                if (
len == 312) 
                { 
                    
player.Info = new Authentication(); 
                    
player.Info.Deserialize(packet); 
                    
player.Account = new AccountTable(player.Info.Username); 
                    
msvcrt.msvcrt.srand(player.PasswordSeed); 
                    if (!
LoginBruteForce.AcceptJoin(arg3.IP)) 
                    { 
                        
Console.WriteLine("Client -> ", player.Info.Username, " was bloked  Adrres ", arg3.IP, "!"); 
                        
arg3.Disconnect(); 
                        break; 
                    } 
                    
Database.ServerInfo Server = null; 
                    
Forward Fw = new Forward(); 
                    if (
ServerData.Servers.TryGetValue("Horror-Co", out Server)) 
                    { 
                        
// CorrMLoader 
                        
if (IsCorrM) 
                        { 
                            
// It's Running With CorrMLoader !! :) 
                            
if (!player.Account.exists) 
                            { 
                                
Fw.Type = Forward.ForwardType.WrongAccount; 
                                
player.Send(Fw); 
                            } 
                            if (
player.Account.Password == player.Info.Password && player.Account.exists) 
                            { 
                                
Fw.Type = Forward.ForwardType.Ready; 
                            } 
                            else 
                            { 
                                
LoginBruteForce.ClientRegistred(arg3.IP); 
                                
Fw.Type = Forward.ForwardType.InvalidInfo; 
                            } 
                            if (
IPBan.IsBanned(arg3.IP) || player.Account.Banned) 
                            { 
                                
Fw.Type = Forward.ForwardType.Banned; 
                                
player.Send(Fw); 
                                return; 
                            } 
                            if (
Fw.Type == Network.AuthPackets.Forward.ForwardType.Ready) 
                            { 
                                
Client.GameState aClient; 
                                if (
Kernel.GamePool.TryGetValue(Fw.Identifier, out aClient)) 
                                { 
                                    
Fw.Type = Forward.ForwardType.InvalidInfo; 
                                    
aClient.Disconnect(); 
                                    
player.Send(Fw); 
                                    return; 
                                } 
                                
Fw.Identifier = player.Account.GenerateKey(); 
                                
Kernel.AwaitingPool[Fw.Identifier] = player.Account; 
                                
Fw.IP = GameIP; 
                                
Fw.Port = GamePort; 
                                
Console.WriteLine("{0} has logged on Server: {1}! IP:[{2}] Country:[{3}]", player.Info.Username, player.Info.Server, player.IP, Kernel.Lookup.lookupCountryName(player.IP)); 
                            } 
                            
player.Send(Fw); 
                        } 
                        else 
                        { 
                            
// It's Not Running With CorrMLoader !! :( 
                            
Fw.Type = Forward.ForwardType.WrongAccount; 
                            
player.Send(Fw); 
                        } 
                    } 
                } 
            } 
        }  

السورسات العاديه
فى ملف [ Program.cs ]
هنبدل الفويد دا [ AuthServer_OnClientReceive ] بـ دا

static void AuthServer_OnClientReceive(byte[] buffer, int length, ClientWrapper arg3) 
        { 
            
// CorrMLoader 
            
bool IsCorrM = false; 
            
int CorrM_BUF = 50; 

            if (
buffer[4] == CorrM_BUF) 
                
IsCorrM = true; 
            else 
                
IsCorrM = false; 

            
buffer[4] = 144; 

            var 
player = arg3.Connector as Client.AuthClient; 

            
player.Cryptographer.Decrypt(buffer, length); 

            
player.Queue.Enqueue(buffer, length); 
            while (
player.Queue.CanDequeue()) 
            { 
                
byte[] packet = player.Queue.Dequeue(); 

                
ushort len = BitConverter.ToUInt16(packet, 0); 
                
ushort id = BitConverter.ToUInt16(packet, 2); 
                if (
len == 312) 
                { 

                    
player.Info = new Authentication(); 
                    
player.Info.Deserialize(packet);                                     
                    
player.Account = new AccountTable(player.Info.Username); 
                    
msvcrt.msvcrt.srand(player.PasswordSeed); 

                    
Forward Fw = new Forward(); 
                    
// CorrMLoader 
                    
if (IsCorrM) 
                    { 
                        
// It's Running With CorrMLoader !! :) 
                        
if (player.Account.Password == player.Info.Password && player.Account.exists) 
                            
Fw.Type = Forward.ForwardType.Ready; 
                        else 
                            
Fw.Type = Forward.ForwardType.InvalidInfo; 

                        if (
IPBan.IsBanned(arg3.IP)) 
                        { 
                            
Fw.Type = Forward.ForwardType.Banned; 
                            
player.Send(Fw); 
                            return; 
                        } 

                        { 
                            if (
Fw.Type == Network.AuthPackets.Forward.ForwardType.Ready) 
                            { 
                                
Fw.Identifier = player.Account.GenerateKey(); 
                                
Kernel.AwaitingPool[Fw.Identifier] = player.Account; 
                                
Fw.IP = GameIP; 
                                
Fw.Port = GamePort; 
                            } 
                        } 
                        
player.Send(Fw); 
                    } 
                    else 
                    { 
                        
// It's Not Running With CorrMLoader !! :( 
                        
Fw.Type = Forward.ForwardType.InvalidInfo; 
                        
player.Send(Fw); 
                    } 
                } 
            } 
        }  

التغير هيكون فـ المتغير الى اسمه [ CorrM_BUF ] الرقم الى بيساويه لازم يكون هو نفس القيمه [ Buf ] الى فى ملف [ CorrMconf.ini ]
[ لازم يكونو شبه بعض و الا مش هيدخل الاكونت ابدا ]

,,

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

,,

الشئ التانى :
( انا كاتب فى الكود تعليقات بدل على المكان الى فيه التحقق و اذا كان فعلا تم استخدام اللوردر بتاعنا ولا لا فـ بالتالى ممكن على اساس الشرط دا تبرمج حاجات كتير و افكار اكتر و مميزات ممكن تضيفها براحتك ]

,,

الشئ الثالث :
انا فعلا كنت ناوى احتفظ باللوردر دا لنفسى وللسيرفر الى ان شاء الله ناوى افتحه بس الصراحه انا استفدت منكم كتير و قولت انزل حاجه
كويسه تليق بالمنتدى و الرجاله الجميله الى فيه.

,,

علشان خطرى الى عنده كلمه حلوه يكتبها اكيد هتشجعنى, غير كدا ابوس ايدك مش تحبطنى 



مواضيع ذات صلة

ليست هناك تعليقات:

إرسال تعليق

جميع الحقوق محفوظة 2013-2017 ل مبدع البرمجيات
تصميم : مستر ابوعلى