Здравствуйте, сегодня будем байпассить МРАК (ну или варфейс, хз)
Как обычно понадобится пол мозга и руки, будем писать с 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 значения
36707atizoff · 7 Авг 2019 в 17:46' data-fancybox="lb-post-381582" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/36707/" style="cursor: pointer;" title="36707">
36708atizoff · 7 Авг 2019 в 17:46' data-fancybox="lb-post-381582" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/36708/" style="cursor: pointer;" title="36708">
36709atizoff · 7 Авг 2019 в 17:46' data-fancybox="lb-post-381582" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/36709/" style="cursor: pointer;" title="36709">
Переводим в hex и видим снизу также нам нужный оффсет
Ещё ниже также нужный оффсет
36710atizoff · 7 Авг 2019 в 17:46' data-fancybox="lb-post-381582" data-lb-caption-extra-html="" data-lb-sidebar-href="" data-single-image="1" data-src="https://www.blast.hk/attachments/36710/" style="cursor: pointer;" title="36710">
Записываем их в блокнотик например и качаем 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
;
}
}
Готово. Компилим и инжектим. Задавайте свои вопросы сюда!
Всем удачи