- 1,296
- 1,179
Здравствуйте, сегодня будем байпассить МРАК (ну или варфейс, хз)
Как обычно понадобится пол мозга и руки, будем писать с 0
Создаём проект и вставляем код от ClownHacker - https://blast.hk/threads/37995/
В дампе варфейса ищем:
pGameCvars (главный адрес SCVars)
g_anti_cheat_memscan_thread_delay
g_anti_cheat_memscan_log
g_anti_cheat_memscan_dump_patterns
Последние 3 можете прям так вбивать в strings, а чтобы найти главный адрес SCVars просто IsSameTeam (в разделе Warface есть туториал как найти)
Ищем значит последние 3 значения
Переводим в hex и видим снизу также нам нужный оффсет
Ещё ниже также нужный оффсет
Записываем их в блокнотик например и качаем ReClassEX64
Открываем, нажимаем NEW и называем класс SCVars
Дальше будет короткео видео, ибо словами я это не объясню
Далее просто в .h файл где ваши классы добавляете SCVars
И также в самом верху классов добавить надо будет:
Как же юзать, спросите вы?
Готово. Компилим и инжектим. Задавайте свои вопросы сюда!
Всем удачи
Как обычно понадобится пол мозга и руки, будем писать с 0
Создаём проект и вставляем код от ClownHacker - https://blast.hk/threads/37995/
В дампе варфейса ищем:
pGameCvars (главный адрес SCVars)
g_anti_cheat_memscan_thread_delay
g_anti_cheat_memscan_log
g_anti_cheat_memscan_dump_patterns
Последние 3 можете прям так вбивать в strings, а чтобы найти главный адрес SCVars просто IsSameTeam (в разделе Warface есть туториал как найти)
Ищем значит последние 3 значения
Переводим в hex и видим снизу также нам нужный оффсет
Ещё ниже также нужный оффсет
Записываем их в блокнотик например и качаем ReClassEX64
Открываем, нажимаем NEW и называем класс SCVars
Дальше будет короткео видео, ибо словами я это не объясню
Далее просто в .h файл где ваши классы добавляете SCVars
ANTI - PASTE!!!:
class SCVars;
class SCVars
{
public: // ищи сам, бро)
char ANTIPASTE[ANTIPASTE]; //ANTIPASTE
ANTIPASTEg_anti_cheat_memscan_thread_delay ; //0x0B58
__int32 g_anti_cheat_memscan_log ; //0x0B5C
__int32 g_anti_cheat_memscan_dump_patterns ; //0x0B60
char ANTIPASTE[ANTIPASTE]; //ANTIPASTE
}; //Size=ANTIPASTE
И также в самом верху классов добавить надо будет:
C++:
#define pGameCVars (*(SCVars**)0x141ED9590)
Как же юзать, спросите вы?
C++:
typedef __int64(WINAPI* EndSceenFn)(IDirect3DDevice9*, CONST RECT*, CONST RECT*, HWND, CONST RGNDATA*);
EndSceenFn pEndSceen;
VMTHookManager* VmtHook = new VMTHookManager;
HRESULT WINAPI myEndSceen(IDirect3DDevice9* m_pDevice, CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion)
{
pGameCVars->g_anti_cheat_memscan_thread_delay = 9999;
pGameCVars->g_anti_cheat_memscan_log = 0;
pGameCVars->g_anti_cheat_memscan_dump_patterns = 0;
return pEndSceen(m_pDevice, pSourceRect, pDestRect, hDestWindowOverride, pDirtyRegion);
}
BOOL WINAPI DllMain(HMODULE hModule, DWORD64 dwReason, LPVOID)
{
switch (dwReason)
{
case DLL_PROCESS_ATTACH:
VmtHook->bInitialize((PDWORD64*)SSystemGlobalEnvironment::Singleton()->GetIRenderer()->GetDirectDevice());
pEndSceen = (EndSceenFn)VmtHook->dwHookMethod((DWORD64)myEndSceen, 17);
break;
case DLL_PROCESS_DETACH:
FreeLibraryAndExitThread(hModule, 0);
break;
}
}
Готово. Компилим и инжектим. Задавайте свои вопросы сюда!
Всем удачи