Создаем internal мультихак, на примере CryEngine3 SDK [ReClass]
Продолжаем создавать наш noflash. Открываем Reclass x32 и создаем новый класс.
Далее, переименовываем название класса в SSystemGlobalEnvironment. Сейчас наш класс очень мал. Нарастите класс до смещения 0x90, используя панель модификации.
Переходим на смещение 0x88, жмем по зеленой стрелке, выбираем тип - Указатель.
Переименовываем указатель в p3DEngine. Ниже строчкой, переименовываем класс в I3DEngine. Спускаемся еще на строчку ниже. Создаём виртуальную таблицу, указав тип VTable.
Открываем и видим, что функций всего 9, а нам нужно 143. Смещение 572 / 4 т.к. 32 битный процесс. Если бы был 64 битный, то делили бы на 8. 143 это и есть наша функция SetPostEffectParam()
Наращиваем количество функций, как делали с классом. Переходим на 143 функцию, двойной клик, вписываем саму функцию. И очищаем лишнее в классе. Далее жмем "генерировать" класс.
Получаем готовый код класса, копируем в удобное место.
Открываем Visual Studio, создаем пустой проект, тип проекта "Библиотека DLL". Добавляем исходный файл main.cpp и заголовочный файл classes.h .
В main.cpp подключаем
#include <windows.h>
#include "classes.h"
Прописываем нашу функцию
void noFlash() { while(true) { SSystemGlobalEnvironment* pEnv = (SSystemGlobalEnvironment*)(*(DWORD*)(0x18C23DC)); if(!pEnv)continue; I3DEngine* p3DEngine = pEnv->p3DEngine; if(!p3DEngine)continue; p3DEngine->SetPostEffectParam("Flashbang_Time", 0, true); } }
В точке входа создаем поток
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)noFlash, 0, 0, 0);
Открываем файл classes.h и вставляем туда сгенерированный код из ReClass. В итоге файл classes.h будет выглядеть вот так
class SSystemGlobalEnvironment;
class I3DEngine;
class SSystemGlobalEnvironment
{
public:
char _0x0000[136];
I3DEngine* p3DEngine; //0x0088
};//Size=0x008C
class I3DEngine
{
public:
virtual void Function0(); //
virtual void Function1(); //
virtual void Function2(); //
virtual void Function3(); //
virtual void Function4(); //
virtual void Function5(); //
virtual void Function6(); //
virtual void Function7(); //
virtual void Function8(); //
virtual void Function9(); //
virtual void Function10(); //
virtual void Function11(); //
virtual void Function12(); //
virtual void Function13(); //
virtual void Function14(); //
virtual void Function15(); //
virtual void Function16(); //
virtual void Function17(); //
virtual void Function18(); //
virtual void Function19(); //
virtual void Function20(); //
virtual void Function21(); //
virtual void Function22(); //
virtual void Function23(); //
virtual void Function24(); //
virtual void Function25(); //
virtual void Function26(); //
virtual void Function27(); //
virtual void Function28(); //
virtual void Function29(); //
virtual void Function30(); //
virtual void Function31(); //
virtual void Function32(); //
virtual void Function33(); //
virtual void Function34(); //
virtual void Function35(); //
virtual void Function36(); //
virtual void Function37(); //
virtual void Function38(); //
virtual void Function39(); //
virtual void Function40(); //
virtual void Function41(); //
virtual void Function42(); //
virtual void Function43(); //
virtual void Function44(); //
virtual void Function45(); //
virtual void Function46(); //
virtual void Function47(); //
virtual void Function48(); //
virtual void Function49(); //
virtual void Function50(); //
virtual void Function51(); //
virtual void Function52(); //
virtual void Function53(); //
virtual void Function54(); //
virtual void Function55(); //
virtual void Function56(); //
virtual void Function57(); //
virtual void Function58(); //
virtual void Function59(); //
virtual void Function60(); //
virtual void Function61(); //
virtual void Function62(); //
virtual void Function63(); //
virtual void Function64(); //
virtual void Function65(); //
virtual void Function66(); //
virtual void Function67(); //
virtual void Function68(); //
virtual void Function69(); //
virtual void Function70(); //
virtual void Function71(); //
virtual void Function72(); //
virtual void Function73(); //
virtual void Function74(); //
virtual void Function75(); //
virtual void Function76(); //
virtual void Function77(); //
virtual void Function78(); //
virtual void Function79(); //
virtual void Function80(); //
virtual void Function81(); //
virtual void Function82(); //
virtual void Function83(); //
virtual void Function84(); //
virtual void Function85(); //
virtual void Function86(); //
virtual void Function87(); //
virtual void Function88(); //
virtual void Function89(); //
virtual void Function90(); //
virtual void Function91(); //
virtual void Function92(); //
virtual void Function93(); //
virtual void Function94(); //
virtual void Function95(); //
virtual void Function96(); //
virtual void Function97(); //
virtual void Function98(); //
virtual void Function99(); //
virtual void Function100(); //
virtual void Function101(); //
virtual void Function102(); //
virtual void Function103(); //
virtual void Function104(); //
virtual void Function105(); //
virtual void Function106(); //
virtual void Function107(); //
virtual void Function108(); //
virtual void Function109(); //
virtual void Function110(); //
virtual void Function111(); //
virtual void Function112(); //
virtual void Function113(); //
virtual void Function114(); //
virtual void Function115(); //
virtual void Function116(); //
virtual void Function117(); //
virtual void Function118(); //
virtual void Function119(); //
virtual void Function120(); //
virtual void Function121(); //
virtual void Function122(); //
virtual void Function123(); //
virtual void Function124(); //
virtual void Function125(); //
virtual void Function126(); //
virtual void Function127(); //
virtual void Function128(); //
virtual void Function129(); //
virtual void Function130(); //
virtual void Function131(); //
virtual void Function132(); //
virtual void Function133(); //
virtual void Function134(); //
virtual void Function135(); //
virtual void Function136(); //
virtual void Function137(); //
virtual void Function138(); //
virtual void Function139(); //
virtual void Function140(); //
virtual void Function141(); //
virtual void Function142(); //
virtual void SetPostEffectParam(const char *pParam, float fValue, bool bForceValue=false); //
};//Size=0x0004
Собираем проект. Внедряем в игру. Готово.
Продолжение следует...
-
1
-
4
0 Комментариев
Рекомендуемые комментарии
Комментариев нет