DllMain () не вызывается при инъекции, но вызывается с помощью LoadLibrary () - PullRequest
0 голосов
/ 04 апреля 2020

Код Dll:

#include <windows.h>

BOOL APIENTRY DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    MessageBoxW(NULL, L"Hello world!", L"Test DLL", MB_OK);

    return TRUE;
}

Код LoadLibrary:

#include <windows.h>

int main()
{
    LoadLibrary("dll.dll");
    return 0;
}

Когда я загружаю dll с вышеуказанным кодом, появляется сообщение, как и ожидалось.

Когда я вместо этого пытаюсь внедрить dll с помощью любого инжектора, который мне удалось найти, DllMain никогда не вызывается.

Целевой процесс и архитектура dll - оба x64. В целевом процессе уже есть необходимая библиотека для MessageBoxW (). Если нужно, вот как я собираю dll (mingw): gcc.exe main.cpp -shared -fPIC -o dll.dll

Может быть, мне не повезло с моими 5 инжекторами, которые я уже пробовал, любая рекомендация?

Что еще может вызвать окно сообщения не всплывает?

1 Ответ

0 голосов
/ 04 апреля 2020

Похоже, инжекторы не работали. Наконец, нашел файл с именем «Удаленная DLL» от securityxploded.com, в результате чего строки появились в DebugView. Спасибо @ WhozCraig.

...