如何在反汇编代码中找到Windows进程创建调用?

时间:2012-02-24 19:56:36

标签: winapi reverse-engineering ollydbg

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

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

该字符串不以ASCII格式存在。所以,我想知道CLI应用程序的调用位置,所以我可以深入挖掘。不幸的是,这是我被卡住的地方。 我对Windows API以及如何创建进程知之甚少。我找不到创建CLI应用程序进程的部分。我尝试使用名为StraceNT的工具,但我无法在任何地方找到调用(我假设它将使用CreateProcess()函数)。

很抱歉,如果这是一个愚蠢的问题,但它似乎很有趣。欢迎任何有关教育自己的建议阅读。

1 个答案:

答案 0 :(得分:0)

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

然后,您可以双击您感兴趣的“处理创建”事件,并查看“堆栈”选项卡。 Voilà,您将获得一个调用堆栈,向您展示如何启动流程创建!

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

enter image description here