SUPERというビデオエンコードソフトがあり、
これはffmpeg.exeなどの外部コマンドを呼び
出しているようなのですが、このように外部の
コマンドをどのようなオプションで起動している
かを知る方法はないでしょうか。
外部コマンドの呼び出しにフックして、その起動
オプションを簡単に知るツールを教えて下さい。
なお、デバッグ環境はありません。
http://www.erightsoft.com/S5E01.html
Sysinternals Process Explorer
http://www.sysinternals.com/Utilities/ProcessExplorer.html
このツールは、Windowsの標準タスクマネージャの機能拡張版で、各プロセスの起動時のコマンドラインも表示することができますので、外部コマンドが呼び出されている最中にProcess Explorerで起動された外部コマンドのコマンドラインを知ることができます。
URLはダミーです。
次のようなソースをコンパイルして、ffmpeg.exeと差し替えましょう。
int main(int argc, char * * argv)
{
FILE * fp = fopen("debug.log", "w");
for (int i = 0; i < argc; i++) fprintf(fp, "%d: %s\n", i, argv[i]);
fclose(fp);
return 0;
}
ただし、SUPERの動作に影響が出る可能性があります。
試しましたが、SUPERの起動直後にログもはかずに落ちますね。
straceでトレースをする。
回答が曖昧すぎてわかりません。そのstraceで
やるにしてもWindowsアーキティクチャに対応
しているバイナリもないですが?
見たところ内部メソッドを引っかけているようで、
外部コマンドと引数は知ることができないようです。
Sysinternals Process Explorer
http://www.sysinternals.com/Utilities/ProcessExplorer.html
このツールは、Windowsの標準タスクマネージャの機能拡張版で、各プロセスの起動時のコマンドラインも表示することができますので、外部コマンドが呼び出されている最中にProcess Explorerで起動された外部コマンドのコマンドラインを知ることができます。
すばらしい。まさにこのツールです。これで
引数を知ることができました。ありがとうございました。
すばらしい。まさにこのツールです。これで
引数を知ることができました。ありがとうございました。