Перейти к содержанию

Рекомендуемые сообщения

Извиняюсь сразу за тупой вопрос ) В общем, как мне известно, чтобы внедрить свою дллку в игру, необходимо написать эту самую библиотеку, а затем создать отдельно приложение типа такого:

Скрытый текст



int main(){

	const char path[] = "hack.dll";

	HANDLE op = OpenProcess();
	HANDLE Thread;
	HMODULE ll = GetModuleHandle("kernel32.dll");
	FARPROC func = GetProcAddress(ll, "LoadLibraryA");
	LPVOID arg_address = VirtualAllocEx(op, 0, strlen(path), MEM_COMMIT, PAGE_EXECUTE_READWRITE);
	WriteProcessMemory(op, arg_address, path, strlen(path), 0);
	Thread = CreateRemoteThread(op, 0, 0, (LPTHREAD_START_ROUTINE)func, arg_address, 0, 0);

	return 0;
}


 

 

собственно, вопрос, а есть ли способ внедрить свою длл без стороннего приложения? Т.е. чтобы закинул библиотеку в папку с игрой и она сама подключилась?)

Ссылка на комментарий
Поделиться на другие сайты

хм простой вариант - смотришь что грузит игра на старте через LoadLibraryA или LoadLibraryW, если пытается грузить какую то длл которой нету - можешь юзать ее имя для загрузки +возможно нужна коррекция кода игры в DLL_PROCESS_ATTACH, так как игра может сразу выгрузить ее или будет ожидать спец функционал...
сложный вариант выбрать какую то игровую длл, переименовать например binkw32.dll -> binkw32o.dll, свою длл в binkw32.dll и в ней создать перенаправление экспорта в binkw32o.dll которую загрузит твоя длл...

также можно инжектор в длл добавить типа как hack.cpl или инжектить длл через cmd в котором вызов rundll32.exe

  • Плюс 2
Ссылка на комментарий
Поделиться на другие сайты

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, Вы автоматически соглашаетесь соблюдать наши Условия использования.