我努力工作,一個dll注入,我tryed的事情100,但他們沒有工作, 我現在在Windows 7 32位(以避免衝突32/64)。 我使用了兩種着名的dll注射器(AutoInject和Extreme注射器V2)和一個手工製作的注射器。 我想在記事本中mesagebox(不能是更加簡單吧?) 我還補充前人的精力,我的窗戶在VMware下運行。 這裏我主要爲我的DLL(含代碼塊建)DLL注入失敗
#if BUILD_DLL
#define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
#define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
#include <windows.h>
#include <stdio.h>
#include <stdlib.h>
BOOL APIENTRY DllMain (HINSTANCE hInst, DWORD reason, LPVOID reserved)
{
switch (reason)
{
case DLL_PROCESS_ATTACH:
MessageBox (0, "Hello from injected DLL!\n", "Hi", MB_ICONINFORMATION);
break;
case DLL_PROCESS_DETACH:
break;
case DLL_THREAD_ATTACH:
break;
case DLL_THREAD_DETACH:
break;
}
return TRUE;
}
我現在不知道什麼嘗試
首先不做[怪異](HTTP://blogs.msdn的.com/b/oldnewthing /存檔/ 2004/1月27日/ 63401.aspx)[東西](http://blogs.msdn.com/b/oldnewthing/archive/2004/01/28/63880.aspx)在DllMain的。有了這個,你不是很幫助我們......注射器報告任何錯誤嗎?你是否驗證過DLL是否加載了類似ProcessExplorer的東西?旁註:它看起來好像是在編譯ANSI/MBCS,而且我非常肯定記事本是UNICODE。 – 2013-03-25 20:43:57
都說注射成功,我要去嘗試ProcessExplorer – gfauchart 2013-03-25 20:48:49
Nik在這兩方面都是正確的。您需要更改MessageBox調用以獲取類似於OutputDebugString的內容,並且需要將該DLL編譯爲Unicode。 ANSI在十年前已經過時了。 – 2013-03-25 21:06:13