Open Source VAC İÇİN PHYSICAL MEMORY DRIVER

TheRolesional

Diamond Üye
Katılım
24 Şub 2023
Mesajlar
791
Beğeniler
130
Merhabalar, bugün sizlere bu driverı paylaşmak istedim amacı kısaca VAC'ı en güvenli yoldan (yazılımsal olarak) atlatmaktır. External projelerinizde hafıza okuma olarak bu sürücüyü kullanabilirsiniz. Yazma işlemi konusunda RİSK HER ZAMAN VARDIR, VAC'ın kesinlikle algılamasını istemiyorsanız yalnızca Read yapın.
İçerisinde hem driver hem de usermode kontrolcünün kaynak kodları bulunmaktadır.
Bu sürücüyü kendi projemde de kullandım, Konu Linki: https://cheatglobal.com/konu/undetected-expectional-cs2-ucretsiz-kernel-external-hile.118662/
Basitçe bu sürücü EAC veya Battleye için güvenli değildir. Ban yeme olasılığınız bu Anti-Cheat'ler karşısında yüksektir. VAC Usermode bir anti hile olduğu için VAC'e karşı oldukça güvenli bir sürücüdür.

Ayrıca bunu sıfırdan yapmadım, hazır kaynak koduna özelleştirme yapmak zorunda kaldım BSOD sorunları vardı, şuan için yok gibi görünüyor, BSOD alırsanız iletin bakarız ne olduğuna.


Sizin dikkat etmeniz gereken ana noktalar şunlar:
Hafızaya yazma işlemi YAPMAYIN. (zaten yazma yapmadan yeterli özellikleri güvenli şekilde yapabiliyorsunuz, size kalmış)
Offsetleri usermode'dan dumplamayın, a2x-dumper'dan direkt çekin veya alt hesaptan cs2-dumper ile dumplayıp onla elle projenize koyun, size kalmış yapabilirseniz driver kullanarak da deneyebilirsiniz ama çok gerek olduğunu sanmıyorum. Geç VAC Banlı hesaba dumpla geç.
Client dll vb.'yi usermode'dan değil driver'dan alın. Usermode'dan almak tamamen güvenli değil.
Pattern Scan'ı da kernelden yapın.
Mouse move vb. davranışları kernelden yapmanız şart değil, VAC bunu önemsemiyor.
Overlay'inizde TOPMOST özelliğini kullanmayın. Bu flaglenebilir, önerim fake topmost yapabilirsiniz zaten aşağı yukarı aynı şey oluyor.
Fake Topmost için yardımcı kod (UC'den alınmıştır) :
Window Oluşturmak için:
C++:
/* Registering Window Class for our overlay window
More help on MSDN (RegisterClassEx function): https://msdn.microsoft.com/en-us/library/windows/desktop/ms633587(v=vs.85).aspx */
WNDCLASSEX overlayWindowClass;
ZeroMemory(&overlayWindowClass, sizeof(WNDCLASSEX)); // Initialises, sets all bits to 0 to remove garbage data
overlayWindowClass.cbClsExtra = NULL;
overlayWindowClass.cbWndExtra = NULL;
overlayWindowClass.cbSize = sizeof(WNDCLASSEX);
overlayWindowClass.style = CS_HREDRAW | CS_VREDRAW;
overlayWindowClass.lpfnWndProc = WindowProc; // Function that will be executed when the window receives a "message" (input). Required! (crashes if set to NULL)
overlayWindowClass.hInstance = NULL;
overlayWindowClass.hCursor = LoadCursor(NULL, IDC_ARROW);
overlayWindowClass.hIcon = LoadIcon(0, IDI_APPLICATION);
overlayWindowClass.hIconSm = LoadIcon(0, IDI_APPLICATION);
overlayWindowClass.hbrBackground = (HBRUSH)RGB(0, 0, 0);
overlayWindowClass.lpszClassName = windowClassName; // Class name to use with the Windows API function CreateWindow(Ex) to create the window
overlayWindowClass.lpszMenuName = windowClassName;
RegisterClassEx(&overlayWindowClass);
 
hwndOverlayWindow = CreateWindowEx(NULL, DEFAULT_WINDOW_CLASS_NAME, DEFAULT_WINDOW_TITLE, WS_POPUP | WS_VISIBLE, overlayPosX, overlayPosY, overlayWidth, overlayHeight, NULL, NULL, NULL, NULL);
 
/* This makes the window transparent (somehow, I figured this out by trying many solutions, it doesn't seem designed for this purpose)
More help on MSDN (DwmExtendFrameIntoClientArea function): https://msdn.microsoft.com/en-us/library/windows/desktop/aa969512(v=vs.85).aspx */
MARGINS margin = { overlayPosX,overlayPosY,overlayWidth,overlayHeight };
DwmExtendFrameIntoClientArea(hwndOverlayWindow, &margin);
 
// No need to use WS_EX_TOPMOST since I replace the window on top periodically
SetWindowLong(hwndOverlayWindow, GWL_EXSTYLE, WS_EX_LAYERED | WS_EX_TRANSPARENT);

Z order kod:
Kod:
SetWindowPos(hwndTargetWindow, hwndOverlayWindow, 0, 0, 0, 0, SWP_NOMOVE | SWP_NOSIZE);
Driver Source Code (Github):

Driver Source Code (Dosya co):

Okuduğunuz için Teşekkürler, iyi forumlar <3


 
Son düzenleme:
kernelden write işlemi yapmak safe değil mi
 
kernelden write işlemi yapmak safe değil mi
Hayır aslında değil.
Şöyle düşün;
Vac usermode olduğu için Kernel driverin yaptığı okumayı göremez.
Ancak VAC cs2 de olan yetkisiz değişimleri görebilir.
Yazma işleminin nereden geldiğine bakmaz bu durumda.
 

Şuanda konuyu görüntüleyen kullanıcılar

Geri
Üst Alt