™ EgY_KhaN ™
20-10-2017, 01:47 PM
طبعا قبل اي حاجه كل الفيكسات دي C# يعني للناس الي عامله فلاتر او جاردات بالنسبة للناس الي "فاتحه سيرفر " بس شغالة بجارد حد تاني خلي صاحب الجارد هوا الي يحدث الجارد بتاعه ده في حالة لو مكنش متحدث
طبعا في ناس كتير عارفه mike bot الي نزلو جوفي بعد ما اطرد علشان يوقع اي فلتر او موقع في خلال ثواني هل له حل؟؟
بالنسبة للموقع ايوة طبعا له 3 حلول " هنضيفهم بعدين في موضوع حماية المواقع "
بالنسبة للسيرفر له حل وحيد
Mikebot fix
Crash any Filter/Website
هتضيف السطور دي في net engine بتاع الفلتر بتاعك
byte[] tmp = new byte[2];
ClientSocket.Receive(tmp, 0, 2, SocketFlags.Peek);
if (Char.IsLetter((char)tmp[0]) || Char.IsLetter((char)tmp[1]))
{
// Disconnect
}
طبعا مكان // Disconnect هتضيف اسم الامر عندك في فلترك ايه بالظبط
Iwa exploit fix " قديمة لكن منزلهاش حل منفصل قبل كده
SR_ShardManager Flood
if(_pck.Opcode == 0x7005)
{
if(_pck.ReadUInt8() > 2) {
// Disconnect
}
}
0x7007 SR_ShardManager v1 Flood
if(_pck.Opcode == 0x7007)
{
byte response = _pck.ReadUInt8();
switch (response)
{
#region Create char
case 1:
{
try
{
_pck.ReadAscii(); // Charname
_pck.ReadUInt32(); // RefObjID
_pck.ReadUInt8(); // Height
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
}
catch
{
// Disconnect.
}
}
break;
#endregion
#region Char screen call
case 2:
{
if(_pck.GetBytes().Length > 1)
{
// Disconnect
}
}
break;
#endregion
#region Delete char by name
case 3:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
#region Restore char by name
case 4:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
#region Don't remember what this is, but it exists :)
case 5:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
default:
{
// Disconnect
}
break;
}
}
0x750E / SR_ShardManager / OnSR_LOGOUT_REQ
if(_pck.Opcode == 0x750E)
{
if(_pck.GetBytes().Length > 0) {
// Disconnect
}
}
0x3012 / SR_GameServer SR_READY_TO_PLAY
if(_pck.Opcode == 0x3012)
{
if(_pck.GetBytes().Length > 0) {
// Disconnect
}
}
New gamesever exploit fix
if(_pck.Opcode == 0x3510)
{
continue;
}
ملحوظة : بالنسبة للناس الي شغالة بسورس سوبر مايك مش هتعوز تغير كتير لكن اي فلتر تاني هتعوز تغير _pack باسم كلاس الباكت بتاعتك وغيره
الفيكسات دي منقولة بهدف الافادة فقط لا غير
طبعا في ناس كتير عارفه mike bot الي نزلو جوفي بعد ما اطرد علشان يوقع اي فلتر او موقع في خلال ثواني هل له حل؟؟
بالنسبة للموقع ايوة طبعا له 3 حلول " هنضيفهم بعدين في موضوع حماية المواقع "
بالنسبة للسيرفر له حل وحيد
Mikebot fix
Crash any Filter/Website
هتضيف السطور دي في net engine بتاع الفلتر بتاعك
byte[] tmp = new byte[2];
ClientSocket.Receive(tmp, 0, 2, SocketFlags.Peek);
if (Char.IsLetter((char)tmp[0]) || Char.IsLetter((char)tmp[1]))
{
// Disconnect
}
طبعا مكان // Disconnect هتضيف اسم الامر عندك في فلترك ايه بالظبط
Iwa exploit fix " قديمة لكن منزلهاش حل منفصل قبل كده
SR_ShardManager Flood
if(_pck.Opcode == 0x7005)
{
if(_pck.ReadUInt8() > 2) {
// Disconnect
}
}
0x7007 SR_ShardManager v1 Flood
if(_pck.Opcode == 0x7007)
{
byte response = _pck.ReadUInt8();
switch (response)
{
#region Create char
case 1:
{
try
{
_pck.ReadAscii(); // Charname
_pck.ReadUInt32(); // RefObjID
_pck.ReadUInt8(); // Height
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
_pck.ReadUInt32(); // ItemID
}
catch
{
// Disconnect.
}
}
break;
#endregion
#region Char screen call
case 2:
{
if(_pck.GetBytes().Length > 1)
{
// Disconnect
}
}
break;
#endregion
#region Delete char by name
case 3:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
#region Restore char by name
case 4:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
#region Don't remember what this is, but it exists :)
case 5:
{
int name_length = _pck.ReadAscii().Length;
if((_pck.GetBytes().Length - name_length) != 3)
{
// Disconnect.
}
}
break;
#endregion
default:
{
// Disconnect
}
break;
}
}
0x750E / SR_ShardManager / OnSR_LOGOUT_REQ
if(_pck.Opcode == 0x750E)
{
if(_pck.GetBytes().Length > 0) {
// Disconnect
}
}
0x3012 / SR_GameServer SR_READY_TO_PLAY
if(_pck.Opcode == 0x3012)
{
if(_pck.GetBytes().Length > 0) {
// Disconnect
}
}
New gamesever exploit fix
if(_pck.Opcode == 0x3510)
{
continue;
}
ملحوظة : بالنسبة للناس الي شغالة بسورس سوبر مايك مش هتعوز تغير كتير لكن اي فلتر تاني هتعوز تغير _pack باسم كلاس الباكت بتاعتك وغيره
الفيكسات دي منقولة بهدف الافادة فقط لا غير