DLL注入文档
目录
DLL注入文档
一、 注入的DLL内容
二、静态注入方法
1、导入表注入
2、 DLL 劫持注入
3、 注册表注入
三、动态注入方法
1、远程线程注入
2、 消息钩子注入
3、 APC注入
四、 文件说明
一、注入的DLL内容
test.dll实现在应用开始,结束时弹出Hello World!对话框。
dllmain.cpp
// dllmain.cpp : 定义 DLL 应用程序的入口点。
#include "pch.h"
BOOL APIENTRY DllMain( HMODULE hModule,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
DllInject();
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
void DllInject() {
MessageBoxA(nullptr, "Hello World!", "hook!", 0);
}
framework.h
#pragma once
#define WIN32_LEAN_AND_MEAN // 从 Windows 头文件中排除极少使用的内容
// Windows 头文件
#include <windows.h>
extern "C" __declspec(dllexport) void DllInject(void); //导出函数