- Сообщения
- 815
- Реакции
- 415
В этом гайде я вам покажу как создать точку входа для DLL
В этом гайде я вам покажу как создать точку входа для DLL
Что мы сделаем? - Все очень просто мы создадим dll файл который будем инжектить в какой то процесс и выведим например слово "Success" в MessageBox
Для примера я взял игру Phasmophobia
Для примера я взял игру Phasmophobia
Какой наш план по созаднию точки входа?
Какой наш план по созаднию точки входа?
1) Мы создадим новый пустой проект
2) Настроем проект
3) Создадим точку входа
4) Скомпилируем и произведем инжект в процесс игры
2) Настроем проект
3) Создадим точку входа
4) Скомпилируем и произведем инжект в процесс игры
Использую наш инжектор, ссылка:
Давайте начнем создавать точку входа для ДЛЛ
Давайте начнем создавать точку входа для ДЛЛ
Первым делом я создам пустой проект
После добавлю в папку "Source Files" новый файл main.cpp
Заходим в свойства проекта и ставим вместо Application (.exe) на Dynamic Library (.dll)
Заходим в дополнительное и ставим Многобайтовую кодировку
Компилируем в Release x64
Давайте подключим include и функцию которую позже создадим
Теперь создаем точку входа
И саму нашу функцию sendMessage которая выведит наш MessageBox
Весь код программы получается такой:
Давайте скомпилируем и используем инжектор "AnonymCheatsInjector" в игре Phashmophobia
и как мы видем наша DLL в игре и мы можем творить в ней что угодно и изменять память как нам нужно
После добавлю в папку "Source Files" новый файл main.cpp
Заходим в свойства проекта и ставим вместо Application (.exe) на Dynamic Library (.dll)
Заходим в дополнительное и ставим Многобайтовую кодировку
Компилируем в Release x64
Давайте подключим include и функцию которую позже создадим
C++:
#include <Windows.h>
void sendMessage();
Теперь создаем точку входа
C++:
BOOL WINAPI DllMain(HMODULE hModule, DWORD AttachReason, LPVOID lpReserved) {
if (AttachReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls(hModule); // Отключаем Attach и Detach оповещение
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)sendMessage, 0, 0, 0); // Создаем поток sendMessage
}
else if (AttachReason == DLL_PROCESS_DETACH) {
// в случае неудачи
}
return true; // Всее отлично возвращаем 1
}
И саму нашу функцию sendMessage которая выведит наш MessageBox
C++:
void sendMessage() {
MessageBoxA(0, "Success", "DLLMessageAttach", MB_OK); // Выводим сообщение что все успешно DLL в игре
}
Весь код программы получается такой:
C++:
#include <Windows.h>
void sendMessage();
BOOL WINAPI DllMain(HMODULE hModule, DWORD AttachReason, LPVOID lpReserved) {
if (AttachReason == DLL_PROCESS_ATTACH) {
DisableThreadLibraryCalls(hModule); // Отключаем Attach и Detach оповещение
CreateThread(0, 0, (LPTHREAD_START_ROUTINE)sendMessage, 0, 0, 0); // Создаем поток sendMessage
}
else if (AttachReason == DLL_PROCESS_DETACH) {
// в случае неудачи
}
return true; // Всее отлично возвращаем 1
}
void sendMessage() {
MessageBoxA(0, "Success", "DLLMessageAttach", MB_OK); // Выводим сообщение что все успешно DLL в игре
}
Давайте скомпилируем и используем инжектор "AnonymCheatsInjector" в игре Phashmophobia
и как мы видем наша DLL в игре и мы можем творить в ней что угодно и изменять память как нам нужно
