Abraham08 Опубликовано 25 сентября, 2017 Поделиться Опубликовано 25 сентября, 2017 Извиняюсь сразу за тупой вопрос ) В общем, как мне известно, чтобы внедрить свою дллку в игру, необходимо написать эту самую библиотеку, а затем создать отдельно приложение типа такого: Скрытый текст 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; } собственно, вопрос, а есть ли способ внедрить свою длл без стороннего приложения? Т.е. чтобы закинул библиотеку в папку с игрой и она сама подключилась?) Ссылка на комментарий Поделиться на другие сайты Поделиться
gmz Опубликовано 26 сентября, 2017 Поделиться Опубликовано 26 сентября, 2017 хм простой вариант - смотришь что грузит игра на старте через LoadLibraryA или LoadLibraryW, если пытается грузить какую то длл которой нету - можешь юзать ее имя для загрузки +возможно нужна коррекция кода игры в DLL_PROCESS_ATTACH, так как игра может сразу выгрузить ее или будет ожидать спец функционал... сложный вариант выбрать какую то игровую длл, переименовать например binkw32.dll -> binkw32o.dll, свою длл в binkw32.dll и в ней создать перенаправление экспорта в binkw32o.dll которую загрузит твоя длл... также можно инжектор в длл добавить типа как hack.cpl или инжектить длл через cmd в котором вызов rundll32.exe 2 Ссылка на комментарий Поделиться на другие сайты Поделиться
Рекомендуемые сообщения