注入的 DLL 不执行任何操作
Injected DLL does nothing
我试图在另一个WIN32控制台程序中注入一个C++DLL。注入器 (winjet) 显示它已成功注入,但 DLL 本身不执行任何操作。作为编译器,我使用Visual Studio 2013,我刚刚发现如果我使用预编译标头和此预设.cpp而不是没有预编译标头的空项目,它可以工作。
dll.cpp :
BOOL APIENTRY Dllmain(HMODULE hModule, DWORD ul_reason_for_call, LPVOID lpReserved){
switch (reason) {
case DLL_PROCESS_ATTACH:
MessageBoxA(NULL, "Attached!", "InjectedDLL", MB_OK);
}
return TRUE;
}
此代码适用于预设设置和预编译标头。但为什么没有它呢?
Windows DLL 的入口点称为 DllMain
,而不是Dllmain
。
您不会因此收到编译错误(例如拼写错误时main
),因为它是可选的。
相关文章:
- 不执行任何操作的函数调用C++
- 如果普通默认构造函数不执行任何操作,为什么我们不能使用 malloc 创建平凡可构造的对象?
- GDI+-无法对Gdiplus::Graphics(C++)执行任何操作
- 当我将 DLL 注入现有进程时,DLLMain 不执行任何操作
- 调用函数来创建 WinAPI 按钮不会执行任何操作
- 发送到另一个窗口的鼠标移动消息不执行任何操作
- 如果默认构造函数不执行任何操作,则目的是什么
- 程序在运行时不执行任何操作
- 调用向量内的函数指针不执行任何操作
- getch() 函数在输入 key 时不执行任何操作
- 在集合上运行的函数模板,该集合具有默认的"transform"函数,该函数不执行任何操作
- 基于 Visual Studio c++ 的 exe 不执行任何操作
- C/C++ 套接字:如果我在 IPv6 TCP 连接之前执行任何操作,则连接将失败
- 使用 for 循环反转数组不执行任何操作
- C++功能运算符结构不执行任何操作
- 如何创建不执行任何操作的 #define
- 线程在成功pthread_create之后不执行任何操作
- Lua 函数不执行任何操作
- 程序在用户的第一个输入时不执行任何操作(跳过程序中的整个代码)
- 注入的 DLL 不执行任何操作