-3

私はdllインジェクションを実行しようとしています。100のことを試しましたが、どれも機能しません。現在、Windows 7 32ビットを使用しています(32/64の競合を回避するため)。Webで見つかった2つの有名なdllインジェクター(AutoInjectとExtremeインジェクターV2)と手作りのインジェクターを使用しました。私はメモ帳でメッセージボックスを作成しようとしています(これ以上簡単にすることはできませんか?)また、ウィンドウがVmwareで実行されることを追加する必要があります。ここに私のdllのメイン(Code-Blockでビルド)

#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;
 }

今何をしようかわからない

4

2 に答える 2

1

私は自分の問題の解決策を見つけました。誰かが同じ問題を抱えている場合:コードブロックの代わりにVisualSudioを使用してください

于 2013-03-28T21:59:06.273 に答える
0

dllmainでMessageBoxを呼び出す方法によると、DllMain内でMessageBoxを呼び出すことはできません(実行できることは厳しく制限されています)。tenfourは、OutputDebugStringのようなものを使用することを提案しています。

于 2013-03-25T20:41:54.340 に答える