1

我有一个调用另一个 CLI 程序的程序,没有两个程序的源代码。我想知道第一个程序使用哪些参数调用命令行程序。

使用 Sysinternals Process Explorer 我能够找出参数。其中一个是一个看起来很奇怪的字符串。出于好奇,我想知道它的来源:它依赖于什么样的变量,或者它是否是硬编码的。

该字符串不以 ASCII 格式存在。所以,我想真正找出调用 CLI 应用程序的位置,以便深入挖掘。不幸的是,这就是我卡住的地方。我不太了解 Windows API 以及如何创建进程。我找不到正在创建 CLI 应用程序进程的部分。我尝试使用一个名为 StraceNT 的工具,但在任何地方都找不到调用(我认为它会使用这些CreateProcess()函数)。

对不起,如果这是一个愚蠢的问题,但它看起来很有趣。欢迎任何建议阅读以教育自己。

4

1 回答 1

0

您可以使用Process MonitorOperation begins with Process如果您只想查看流程创建/终止活动,请添加过滤器。然后将在创建进程时记录它,包括创建它的内容。

然后,您可以双击您感兴趣的“Process Create”事件,并查看选项卡“Stack”。瞧,你会得到一个调用堆栈,显示进程创建是如何启动的!

在这里,我从资源管理器开始记事本:

在此处输入图像描述

于 2016-04-26T13:32:30.387 回答