如何找出 .exe 文件在计算机上的更改

Bla*_*ack 8 windows

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

这可能吗?

Dav*_*ill 6

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

我想查看将采取行动的注册表更改,将更改哪些文件,将添加哪些新文件等

那是不可能的:

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

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

  • 在“将要添加哪些新文件”的特定情况下,没有什么可以提前知道您将要为程序提供的文件名以保存文件。

您能做的最好的事情是运行程序(可能在沙箱中)并在更改发生时对其进行监控。

这种监控有多种可能性。最有用的可能是Process Monitor,因为它提供了大量可以记录的信息。


来自Nirsoft

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

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

在此处输入图片说明

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

在此处输入图片说明


系统内部

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

它结合了两个传统 Sysinternals 实用程序 Filemon 和 Regmon 的功能,并添加了广泛的增强功能列表,包括丰富的非破坏性过滤、会话 ID 和用户名等综合事件属性、可靠的进程信息、具有集成符号支持的完整线程堆栈对于每个操作,同时记录到一个文件,等等。

在此处输入图片说明

进程资源管理器向您显示有关哪些句柄和 DLL 进程已打开或加载的信息。

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

在此处输入图片说明


免责声明

我与NirsoftSystemInternals没有任何关系,我只是他们软件的最终用户。