如何找出计算机上的 .exe 文件发生了哪些变化

如何找出计算机上的 .exe 文件发生了哪些变化

在我真正执行 .exe 文件之前,我试图找出它在我的 Windows 计算机上到底改变了什么,例如,查看将执行的注册表更改、哪些文件将被更改、哪些新文件将被添加等等。

这可能吗?

答案1

在运行程序之前,如何知道 Windows 计算机上会发生什么变化?

我想查看将要执行的注册表更改、将要更改哪些文件、将要添加哪些新文件等

那是不可能的:

  • 如果您分析了 .exe 程序并知道它可以进行哪些系统调用,您就必须给它所有可能的输入来预测运行时会发生什么。

  • 可能的输入数量是无限的(考虑在文本文件中输入随机字符的简单情况,就有数百万种可能的组合)。

  • 在“要添加哪些新文件”的特殊情况下,无法预先知道您要提供给程序以保存文件的文件名。

你能做的最好的事情就是运行该程序(可能在沙箱中)并监视变化当它们发生时

这种监测有很多种可能。最有用的可能是进程监控因为它提供了大量可以记录的信息。


尼尔软件

FolderChangesView 是一个简单的工具,它监视您选择的文件夹或磁盘驱动器,并列出在监视文件夹期间被修改、创建或删除的每个文件名。

只要您对所选文件夹具有读取权限,您就可以将 FolderChangesView 与任何本地磁盘驱动器或远程网络共享一起使用。

在此处输入图片描述

ProcessActivityView 创建所选进程尝试访问的所有文件和文件夹的摘要。对于进程访问的每个文件,都会显示以下信息:打开和关闭文件的次数、读/写调用次数、读/写字节总数、上次打开文件调用的 dll 等等...

在此处输入图片描述


系统内部

进程监视器是 Windows 的一个高级监视工具,可显示实时文件系统、注册表和进程/线程活动。

它结合了两个传统 Sysinternals 实用程序 Filemon 和 Regmon 的功能,并增加了大量增强功能,包括丰富且非破坏性的过滤、全面的事件属性(例如会话 ID 和用户名)、可靠的进程信息、完整的线程堆栈以及对每个操作的集成符号支持、同时记录到文件等等。

在此处输入图片描述

Process Explorer 显示有关进程已打开或加载的句柄和 DLL 的信息。

Process Explorer 显示由两个子窗口组成。顶部窗口始终显示当前活动进程的列表,包括其所属帐户的名称,而底部窗口中显示的信息取决于 Process Explorer 所处的模式:如果它处于句柄模式,您将看到顶部窗口中所选进程已打开的句柄;如果 Process Explorer 处于 DLL 模式,您将看到进程已加载的 DLL 和内存映射文件。

在此处输入图片描述


免责声明

我不隶属于尼尔软件或者系统内部无论如何,我只是他们软件的最终用户。

答案2

我找到了一种可行的方法。

  1. 设置虚拟 Windows 机。
  2. 在其上安装“进程监视器”。
  3. 执行 exe
  4. 从 exe 中查找进程的 PID
  5. 在“进程监视器”中筛选该进程的 PID
  6. 实时查看更改

这不是最好的解决方案,但是是一个开始。

相关内容