Hello! I understand that starting with 8 dll injection can not be done, but is there an alternative?
1 answer
Everything is done perfectly! And on 8 and on 8.1 and on 10. If you need an example of a simple code injection, I can help with the code (I will update the message).
UPD
There are a lot of ways to download dlls, you can read about them in Richter’s book, here’s one of the simplest (works on win8 100%, only for x86 applications !!!):
bool load(const tstring & dllPath, const tstring & processName) { // Получение дескриптора процесса HANDLE process = OpenProcess(PROCESS_ALL_ACCESS, false, t_proc.getID(processName)); if (process == NULL) { msg_er_full; return false; } //Из модуля kernel32.dll этого же процесса вытягиваем адрес функции LoadLibraryA LPVOID fp = (LPVOID)GetProcAddress(GetModuleHandleA("kernel32.dll"), "LoadLibraryA"); if (fp == NULL) { msg_er_full; if (!CloseHandle(process))msg_er_full; return false; } // Выделение участка памяти размером dll_name для последующей записи в память процесса. LPVOID alloc{}; if ((alloc = VirtualAllocEx(process, 0, dllPath.size(), MEM_RESERVE | MEM_COMMIT, PAGE_READWRITE)) == NULL) { msg_er_full; if (!CloseHandle(process))msg_er_full; return false; } // Запись Dll в память if (WriteProcessMemory(process, alloc, dllPath.c_str(), dllPath.size(), 0) == NULL) { msg_er_full; if (!CloseHandle(process))msg_er_full; return false; } // Создание "удаленного" потока в адресном пространстве открытого процесса и последующая подгрузка нашей Dll if (CreateRemoteThread(process, 0, 0, (LPTHREAD_START_ROUTINE)fp, alloc, 0, 0) == NULL) { msg_er_full; if (!CloseHandle(process))msg_er_full; return false; } return true; } - Why load LoadLibrary through GetProcAddress? (The minus is not mine.) - VladD
- @VladD - I understand that the author needs to load a dll from a third-party application into its own, for some purpose - for example, I try this way to “hack” my application (looking for bugs and vulnerabilities) - Duracell
- And, and therefore you use as little work as possible of the compiler, I understand. - VladD
- @VladD - you mean it ... - Duracell
- Wow, I thought the post office would receive an alert about the response. I did it at 8, but on windows 10 for some reason it doesn't work, in the afternoon I’ll give you the code - helldrg
|