我没有源代码的程序正在执行第三方 EXE 文件。我想找出它发送到 EXE 文件的参数(即thirdparty.exe -c "foo" -d "bar")。我知道初始程序是用 Visual Basic 编写的。
我可以运行任何工具来监视执行调用并拦截参数吗?
任何帮助,将不胜感激。
我没有源代码的程序正在执行第三方 EXE 文件。我想找出它发送到 EXE 文件的参数(即thirdparty.exe -c "foo" -d "bar")。我知道初始程序是用 Visual Basic 编写的。
我可以运行任何工具来监视执行调用并拦截参数吗?
任何帮助,将不胜感激。
要以编程方式获取它,请使用 WMI:
SelectQuery query = new SelectQuery("select CommandLine from Win32_Process where Name='thirdparty.exe'");
ManagementObjectSearcher searcher = new ManagementObjectSearcher(query);
foreach (var process in searcher.Get())
{
Debug.WriteLine(process.GetPropertyValue("CommandLine"));
}
如果您只想查看命令行,可以使用Process Explorer进行。
使用图像文件执行选项。通过适当地设置注册表项,您可以让操作系统执行您选择的可执行文件(而不是thirdparty.exe),如果您需要的话,您可以自己转换参数并在这些文件上运行thirdparty.exe。中间程序可能甚至不知道其中的区别。