Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/windows/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C Dll注入失败_C_Windows_Dll Injection - Fatal编程技术网

C Dll注入失败

C Dll注入失败,c,windows,dll-injection,C,Windows,Dll Injection,我正在尝试dll注入,我尝试了100种方法,但没有一种有效, 我现在使用Windows7 32位,以避免32/64冲突。 我使用了两个著名的dll注入器,分别是web上的AutoInject和Extreme注入器V2,以及一个手工制作的注入器。 我在试着让记事本里的记事本再简单不过了,对吧? 我还应该补充一点,我的windows在Vmware下运行。 这里是我的主要功能,用于使用代码块构建dll #if BUILD_DLL #define DLLIMPORT __declspec (dllexp

我正在尝试dll注入,我尝试了100种方法,但没有一种有效, 我现在使用Windows7 32位,以避免32/64冲突。 我使用了两个著名的dll注入器,分别是web上的AutoInject和Extreme注入器V2,以及一个手工制作的注入器。 我在试着让记事本里的记事本再简单不过了,对吧? 我还应该补充一点,我的windows在Vmware下运行。 这里是我的主要功能,用于使用代码块构建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;
 }

我不知道现在该怎么做

因为你不能在DLL内部调用MessageBox,因为你的能力受到严格限制。tenfour建议使用OutputDebugString之类的工具。

我找到了解决问题的方法, 如果任何人有相同的问题:
只需使用Visual Sudio而不是代码块

首先不要在DllMain中使用。这样一来,你帮不了我们多少忙。。。喷油器是否报告任何错误?您是否验证了DLL是否加载了类似ProcessExplorer的内容?旁注:看起来您是为ANSI/MBCS编译的,我很确定记事本是UNICODE。两者都表示注入成功,我将尝试ProcessExplorerNik在这两方面都是正确的。您需要更改诸如OutputDebugString之类的MessageBox调用,并且需要将DLL编译为Unicode。ANSI在十多年前就过时了。我尝试了这个链接上的主要发现:如果Messagebox是问题所在,我将尝试其他输出方式