DLLファイルを別のプロセスに注入しましたが、外部EXE経由で通信したいと考えています。注入されたDLLとはどのように通信できますか? :/注入DLLからWin32プロセスを制御する(VC++。NET 2010)
答えて
あなたのEXEと、DLLが注入されたアプリケーションとの間で通信する必要があります。
したがって、EXEからの何らかの通信を待つspawn a threadにDLLが必要です。 DllMainでイベントを待つことはできません.DllMainはアプリケーションをデッドロックするためです。
簡単な方法は、named eventとwait for it to be set in your DLLを作成することです。あなたの外部EXEで、あなたのボタンがクリックされたら、あなたはset the eventです。
質問を正しく理解していれば、プロセスにDLLを注入して、外部EXE経由で通信したいと思っています。 IPC(プロセス間通信)の標準的な方法をここで使用できます。私はリンクがそれ自身で掲示されるべきではないことを知っていますが、Windows上のIPCはリンクされた記事からコピーして貼り付けることなく包括的にカバーするには広すぎます。
ここで試したことと同じことをして、named pipingとdata copyingからWM_COPYDATAをIPCに使用しました。しかし、IPCの各形式を使用する特別な理由がありましたので、単一のIPCを推薦する前に問題のドメインから多くを理解する必要があります。
何か関係のないことは、LPTHREAD_START_ROUTINEにキャストした関数でCreateThreadを呼び出していることです。つまり、ThreadProcコールバックを指しているはずです。あなたの現在の署名void WINAPI()
は、要求されたDWORD WINAPI (LPVOID)
と一致しません。
すべてのDLLが行う必要があるのは、メッセージを転送することだけであれば、メッセージのプロキシとして機能させることができます。
- DLLは、不可視のウィンドウ
- を作成しましたソースプロセス
- にウィンドウハンドルを渡しDLLは、これらのメッセージを受け取ることになりますし、それらを転送することができ
- このウィンドウにソースのプロセスディスパッチメッセージを持っています宛先ウィンドウへ
しかし、これがすべて必要な場合は、まったく中間にDLLを持つ必要はありません。これが、私があなたの問題のドメインに関するより多くの情報を必要としている理由です。
DLLを注入する実行可能ファイルの形式で何かを作成しようとしている場合は、DLLと通信してDLLが通信します。私はしばらく前に作業したprojectを見てみるとよいでしょう。これはまさにそのことです。
- 1. Win32プロセスから.NET DLLを呼び出す方法は?
- 2. win32 dll in C#.net
- 3. 注入されたwin32 DLLからC#関数を呼び出す
- 4. プロセス制御ブロック
- 5. コマンドラインインターフェース&プロセス制御
- 6. DLLに制御を渡す
- 7. OS Xプロセス制御
- 8. 基本的な.NET WindowsフォームはネイティブのWin32コントロールを制御しますか?
- 9. 注入されたDLLメインループでプロセスがクラッシュする
- 10. webpackHtmlPlugin:注入されたファイルの順序を制御する
- 11. vC++ win32プロジェクトでactivex dllを使用しています
- 12. C#.NETからWin32ネイティブDLLファイルを読み込めません
- 13. dll注入C
- 14. VC++(.Net)2010グラフィックをウィンドウに描画
- 15. C#DLLアクセスの制御
- 16. ASP .Netリピータ制御出力の高さを制御する
- 17. プロセスの検出/制御
- 18. ASP .NET別のアップデートパネルのリピータボタンからアップデートパネルを制御する
- 19. nmake/VC++ 2010:MSVCR100.dllなしでコンパイルする場合
- 20. リモートクラスのサービスを制御する.Netクラス?
- 21. 管理されたDLLを.net 4.0アプリケーションに注入
- 22. DLLをいつ切り離すかを制御する方法
- 23. Sharepoint 2010:スクリプトによるWYSIWYGの制御
- 24. directshow.netの制御dllとvb6を使用
- 25. 地図ナビゲーション制御アプローチ - .NET
- 26. 依存性注入と制御の逆転
- 27. 制御の逆転と依存性注入
- 28. コマンドラインベースのプロセスにコマンドを注入する
- 29. Webアプリケーションのコンテキストでwin32 dllと.net dllの違いはありますか?
- 30. 名前でプロセスを強制終了するには? (Win32 API)
DLL注入から始まる自己宣言初心者はなぜですか?経験豊かなプログラマーにとってはそれが何か? –
説明が不明です。これまでに何を達成しましたか?実行中のプロセスにコードを注入できましたか?コードを表示できますか?これまでのところ、どのように働いているとお考えですか? –
Sorta。 :P lol .. – Bawss