Продолжаем создавать наш 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"
Прописываем нашу функцию
В точке входа создаем поток
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)noFlash, 0, 0, 0);
Открываем файл classes.h и вставляем туда сгенерированный код из ReClass. В итоге файл classes.h будет выглядеть вот так
Собираем проект. Внедряем в игру. Готово.
Продолжение следует...