問題タブ [createremotethread]
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 を挿入し、CreateRemoteThread を使用して関数を呼び出すと、「動作が停止しました」が発生します。何が起こりますか?
プロセスに DLL を挿入し、DLL でエクスポートされた関数を呼び出そうとしています。
DLL はそのコードで問題なく挿入されます。
Process Hacker (BootstrapDLL.exe) の画像に見られるように、私の DLL のモジュールは問題なく作成されています。
Process Hacker (ImplantDotNetAssembly) でエクスポートされた関数のリストにあるように、エクスポートされた関数も問題ありません。
問題は、「ImplantDotNetAssembly」のアドレスを取得するためのオフセット計算で発生すると思います。これは、上記のすべてが問題なく、計算を実行すると「ImplantDotNetAssembly」のアドレスが取得されるためですが、CreateRemoteThread を再度呼び出して呼び出すとすると、ウィンドウの「動作が停止しました...」というウィンドウが表示され、プロセスが停止しました。何が起こっているのですか?
オフセットの計算コードは次のとおりです。
関数 GetRemoteModuleHandle と GetFunctionOffset は次のとおりです。
誰かが何が起こっているのか知っていれば、私はとても感謝しています!
「作業が停止しました..」エラーをデバッグすることさえできません。ウィンドウの DEBUG ボタンをクリックすると、エラーが再びスローされ、すべてが停止します。
ありがとうございました。
c# - C# で CreateRemoteThread を使用して複数のパラメーターを渡す
私の目標は、C# (CreateRemoteThread) で P/Invoke を使用して、リモート プロセスで関数を呼び出すことです。問題は、関数が複数のパラメーターを取ることです。複数のパラメータを関数に渡す方法はありますか?
c# - .NET で記述されていない別のプロセス内で関数を呼び出す
別のプロセス内で関数を呼び出し、createremotethread を介して複数の引数を送信したいと考えています。
さて、インラインasmを送信することでそれを行うことができましたが、そのようにするための十分なアセンブリがわかりません。また、リモート プロセスのソース コードにアクセスすることもできません。
私は使用することを考えていました:
しかし、私が理解していることから、リモートプロセスはそれを処理する方法を知っている必要があります.
アセンブリを含まないリモート プロセスに複数の引数を送信する簡単な方法はありますか?
編集:
これが現在解決しようとしている方法ですが、メモリ不足の例外が発生し、何が間違っているのか本当にわかりません。
リモート プロセスの 0x64D480 に関数 ptr があります。これは IDA pro から取得したアセンブリです。
この方法で関数を呼び出すことは可能ではないでしょうか:
c++ - リモート プロセスが起動しない
別のプログラムからプロセスを呼び出そうとしていますが、このプロセスは DLL 経由で挿入したものです。ライブラリ「Client.dll」をロードする最初のものは完全に機能します。これは、DllMain の MessageBox Debug (DLL_PROCESS_ATTACH) によって生成されます。
DLL がプログラムに読み込まれたら、Client.dll から MainThread 関数を呼び出そうとしますが、同じ方法 (コピー、貼り付け、編集) を使用しても機能しません。両方とも以下に掲載されていますが、理由を教えてもらえますか? MainThread からすべてのコードを削除しましたが、それはデバッグ上の理由によるものです。
メインスレッドは次のとおりです。
Client.dll をロードしてメイン スレッドを呼び出そうとする方法は次のとおりです。実際のインジェクションは機能しますが、メイン スレッドの開始ではないことに注意してください。
助けてくれる人に感謝します。
c# - 管理されていない挿入された dll で関数を呼び出す
私は何日もこの問題を解決しようとしてきましたが、まだうまくいきません。管理されていない dll をリモート プロセスに挿入することに成功しました。CreateRemoteThread を介して呼び出しようとしている dll 内に testfunction という関数があります。
プロセス内に挿入された dll のアドレス (0x6B610000) と関数へのオフセット (0x70802) があります。これは、dll 内の関数が (0x6B680802) にあることを意味します。
dll にも関数をエクスポートしました。
これは私が関数を呼び出そうとしている方法です:
これは私のDLLソースです:
この例のリモート アプリケーション (winamp) は dll をロードします (プロセス ハッカーで同じアドレスを確認できます) が、dll 内で関数「testfunction」を呼び出そうとすると即座にクラッシュします。
私は何を間違っていますか?
前もって感謝します