別のコンソールアプリケーションを呼び出していくつかのパラメーターを渡すアプリケーションがあります (コンソールアプリはビデオ/オーディオ変換アプリです) ... プログラムで「スパイ」するか、shellexecute/ をフック/監視する以外に渡されたパラメーターをキャッチする方法はありますか? CreateThreadなど?
3 に答える
オリジナルを呼び出してすべてのパラメーターを渡す実行可能ファイルを自分で作成します。次に、オリジナルを別の場所に移動し、exe に置き換えます。その後、プログラムは、すべてのパラメーターを含むすべての呼び出しをログに記録できます。
はい、あります-あなたが書いているように、Process Explorerはそれを行うことができ、同じ手法を採用できます. しかし、私の知る限り、Platform SDK からのwinternl.hファイルの Delphi 変換は存在しないため、さらに面倒で困難です。また、これは非常にバージョン固有であり、次の Windows バージョンで壊れる可能性があります。これが 64 ビット プロセス (32 ビット プロセスから) で機能するかどうかも明確ではありません。
本当にやりたい場合は、Matt Pietrek によるこのブログ投稿と、CodeProject の記事「Read Environment Strings of Remote process」で必要な情報を見つけることができます。
クローズド ソースの商用プログラムに使用する予定がない場合は、ReactOS プロジェクトの (GPL ライセンス)注釈付きバージョンのwinternl.hファイルを調べることも役立つでしょう。
これは 1992 年以来の Win32 FAQ です。PEB を読んでください。Win32 エキスパート グループ
を参照してください。