問題タブ [dll-injection]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - DLLインジェクション| GetProcAddressはNULLを返します
了解しました。早くするようにします。別のプロセスでDLLを挿入する方法を学習しようとしています。現時点では、電卓を開いたときにメッセージを出力するタイミングを検出しようとしています。私は次のDLLを作成しました:
そして、これが私のインジェクターです(まあ...それは現時点でDLLをロードしようとしているだけです)。
何か案は?
編集:これはコードの100%ではありません。DLLMainのような明らかなものや、問題と直接相互作用しないものをすべて取り出しました。
c - DLL インジェクターが機能しない (64 ビット コンパイラ)
私はまだ同じプロジェクトに取り組んでいます (なぜ私がそんなに多くの質問をするのか不思議に思っているかもしれません)。
プロジェクトはエラーなしで正常にコンパイルされますが、インジェクターはエラーなどを発生させることなく機能しません。ソースは次のとおりです。
私もデバッグしましたが、奇妙な値は得られませんでした:
別の DLL インジェクター (インターネットから) で正常に動作するため、DLL に問題はありません。
編集:ダミー/テストアプリケーションでは正常に機能しますが、たとえばメモ帳では機能しません(サードパーティのインジェクターを使用すると機能します)。
うまくいけば、誰かが私を助けてくれます、よろしく
c++ - cout と printf はリリースされていないデバッグに組み込まれた Dll で動作します
通常は SetWindowHookEx を介してコンソール アプリケーションに挿入される DLL を作成しました。私が std::cout で行ってきた情報を DLL がコンソールに出力することは重要です。すべての cout 行が役に立たなくなるリリース モードで DLL をビルドしようとするまで、DLL は完成に近づいていました。dllmain 関数でプログラムをクラッシュさせる単純な null 逆参照を行うことで、DLL が挿入され、実行されていることを確認しました。std::printf と同じ話です。
この問題にアプローチする方法が本当にわかりません。リリース リンカーは何らかの形で依存関係を除外していますか?
MSVS 2010 とデフォルトのリリース/デバッグ構成セットアップを使用しています。デバッグ dll は約 5,137kb で、リリース dll はわずか 23kb です。
c++ - DLLを挿入するために使用するテクニックは何ですか?
DLLを別のプロセスに挿入しようとしていますが、あまり成功していません。調査をしていると、これを行うには複数の方法があることがわかりました。質問は次のとおりです。最適な方法は何ですか、またはいつLoadLibrary()の代わりにCreateRemoteThread()を使用する必要がありますか?
c# - Visual Studio のコード化された UI テストは dll インジェクションをサポートしていますか?
さまざまな ui テスト自動化フレームワークは、テスト コードが他の方法では表示されないテスト中のアプリケーションのプロパティを検査 (または変更) できるようにするために、何らかの形式の dll インジェクションを使用しているようです。これは、テストがより複雑な非標準 UI コントロールと対話するのに役立ちます。
これは、Visual Studio のコード化された UI テストでサポートされていますか?
c++ - リモート プロセスに挿入された dll から関数を呼び出すことができません
リモート プロセスに挿入された dll 内の関数を呼び出そうとしています。dll 関数を呼び出そうとする exe コードは次のとおりです。
}
上記の exe では、リモート プロセスに挿入された dll に存在する「mypid」関数を呼び出そうとしていますが、関数を呼び出しているときに未処理の例外が発生しています。コードの何が問題なのか教えてください。
以下のコードは私のDLLです:
c++ - McAfee DLL のインジェクションを防ぐ
WinSock モジュール (送受信関数) でいくつかのインライン フックを実行するプロセスがあります。マカフィーがインストールされているマシンでは、2 つの dll がプロセスに挿入されていることがわかります。
- hipi.dll
- hipqa.dll
どちらもおそらくこれらの関数でインラインフックを行っており、衝突や望ましくない動作が発生します。これらの dll が干渉しないように、これらの dll を防止/アンロードするオプションはありますか?
10x、ガイ
c++ - SetWindowsHookExが注入に失敗する
別のプロセスで実行されているウィンドウに送信されたメッセージを傍受して、それらのいくつかに反応できるようにしようとしています。
注入アプリケーションは、p/invokeを介してこのメソッドを呼び出すx86WPFアプリケーションです。別のx86プロセスでウィンドウにハンドルを渡します。
結果が正しい値であるため、メッセージが送信されていることがわかります。ただし、DLLが他のプロセスによってロードされることはなく、フックがメッセージをインターセプトせずにメッセージが呼び出されます。
visual-c++ - 「プロセスへのアタッチ」で MSVC++ がクラッシュ 0x80000003 を引き起こす
サードパーティのプログラムに dll を挿入し、MSVC でその dll をデバッグしています。プログラムの最近の更新により、dll が挿入されている間にデバッガーをプロセスにアタッチするたびに MSVC がクラッシュするまで、私はしばらくの間正常に動作していました。私のdllはまだ正常に動作していますが、MSVCを接続するとホストプログラムがクラッシュするため、デバッグできません。
イベント ビューには次のように表示されます。
デバッガが接続されていることを検出すると、アプリケーションがクラッシュする可能性はありますか? 私の DLL は、EULA/TOS などに違反していない正当なサーバーサイド MOD であることに注意してください。関連する場合、ホスト プログラム内のいくつかのオブジェクトの仮想メソッド テーブル (VMT) ポインターを置き換えることによって動作します。
更新MSVC を使用して dll の OnAttach() 部分をデバッグできますが、実行がホスト プロセスに戻るとクラッシュします。
c++ - リモート プロセスの WM_PAINT
他のプロセスのチャットボックスの WM_PAINT メッセージを「傍受」したい。関数: GetMessage(msg, hwnd, 0, 0) は完璧なようですが、メッセージを受信していません (スーパー ユーザーとして試しました)。C++ コードは適切な子ウィンドウを見つけて、"getMessage" を試みます。私は忘れましたか?このコードを dll で他のプロセスに挿入する必要がありますか?