方法“スパイ” win32pipe / consoleで?
質問
iには、別のコンソールアプリケーションを呼び出していくつかのパラメーターを渡すアプリケーションがあります(コンソールアプリはビデオ/オーディオカバーアプリです)...プログラムで「スパイ」する方法はありますか?または、shellexecute / CreateThreadなどのフック/監視以外の渡されたパラメータをキャッチしますか?
解決
はい、あります-あなたが書いているように、Process Explorerはそれを行うことができ、あなたは同じテクニックを採用することができます。ただし、Platform SDKからの winternl.h ファイルのDelphi翻訳はないので、さらに面倒で困難です。また、これは非常にバージョン固有であり、次のWindowsバージョンで壊れる可能性があります。また、これが(32ビットプロセスから)64ビットプロセスで機能するかどうかも明確ではありません。
本当にやりたい場合は、必要な情報が Matt Pietrekによるこのブログ投稿、およびCodeProjectの記事" リモートプロセスの環境文字列の読み取り"。
クローズドソースの商用プログラムに使用する予定がない場合は、(GPLライセンス) ReactOSプロジェクトの winternl.h ファイルの注釈付きバージョンもおそらく役立つでしょう。
他のヒント
オリジナルを呼び出してすべてのパラメータを渡す実行可能ファイルを自分で作成します。次に、オリジナルを別の場所に移動して、exeに置き換えます。プログラムは、すべてのパラメータを含む、すべての呼び出しをログに記録できます。
これは1992年以来のWin32 FAQです。PEBを読んでください。
Win32エキスパートグループ。