实验原理
(1)在注册表编辑器中,将要注入的DLL的路径字符串写入AppInt_DLLs项目,把LoadAppInit_DLL的项目值设为1。重启后,指定DLL会注入所有运行的进程。
(2)其实是,user32.dll被加载到进程时,会读取AppInit_DLLs注册表项,若有值,则调用LoadLibrary加载用户DLL。因此严格讲,该DLL只是被加载到加载user32.dll的进程。
(3)注意:xp会忽略LoadAppInit_DLL项。
myhack2.dll源码:
#include "windows.h"
#include "tchar.h"
#define DEF_CMD L"C:\\Program Files\\Internet Explorer\\iexplorer.exe"
#define DEF_ADDR L"http://www.baidu.com"
#define DEF_DST_PROC L"notepad.exe"
BOOL WINAPI DllMain(HINSTANCE hinstDll,DWORD fdwReason,LPVOID lpvReversed)
{
TCHAR szCmd[MAX_PATH] = {
0,};
TCHAR szPath[MAX_PATH]</