进程监视器:带有 BUFFER OVERFLOW 的条目

进程监视器:带有 BUFFER OVERFLOW 的条目

我目前正在尝试解决系统上的 IE 8 性能问题。

我使用 Sysinternals Process Monitor 分析了我的系统,发现日志中有很多“BUFFER OVERFLOW”条目(见下文)。有什么方法可以解决这个问题吗?

日志条目例如:

iexplore.exe RegQueryValue HKLM\System\CurrentControlSet\services\NetBT\Linkage\Export BUFFER OVERFLOW Length: 144
communicator.exe RegQueryValue HKLM\System\CurrentControlSet\services\Tcpip\Linkage\Bind BUFFER OVERFLOW Length: 144
OUTLOOK.EXE RegQueryValue HKLM\System\CurrentControlSet\services\Tcpip\Linkage\Bind BUFFER OVERFLOW Length: 144

答案1

这不是错误。实际发生的情况是程序请求了它不知道长度的数据。它提供了一个初始缓冲区。如果缓冲区太小,则会返回缓冲区溢出以及所需的大小,程序可以重新发出具有正确大小的请求。不要与术语缓冲区溢出混淆,后者表示可能导致安全漏洞的错误数据覆盖。

答案2

我自己偶尔会在不同的程序中注意到这种情况,而且许多网络扫描仪和工具也给我带来了这种情况。

第一个合乎逻辑的步骤是缩小“错误”或问题的范围——通过观察进程监视器并查看错误发生的时间并尝试复制它。如果您遇到问题,请尝试调整过滤器。

我现在正在尝试这个,我发现BluetoothView.exe在创建文件然后查询同一个文件后会导致缓冲区溢出(BO)——这就是导致 BO 的原因。一个例子是,在不到千分之一毫秒的时间内,BluetoothView 使用以下操作创建了一个 BO QuerySecurityFile (BluetoothApis.dll):。

在中Process的选项卡下,有一个模块列表,其中包括常用的 shell 文件和诸如、、和编解码器之类的内容,以及其他 Nirsoft 软件(例如 Network Explorer)。虽然可能发现这些东西受到蓝牙的影响,但奇怪的是实际程序从未发现任何东西。Event PropertiesprocmonSkyDriveShell.dllKernelBase.dllieframe.dllWindows.Media.Streaming.dll

在选项卡下,Stack模块包括:ntdll.dll、、、、、、、、、和。kernel32.dllwow64.dllwow64cpu.dllguard32.dllfltmgr.sysntoskrnl.exeapphelp.dllBluetoothView.exe<unknown>

我之所以检查这一点,是因为我离开家一段时间,并且让电脑运行了几天,当我回来时,我发现有些东西不对劲,所以我想检查一下。打开任务管理器后,我的电脑崩溃了,无法再完成加载 Windows 8。屏幕上没有出现 W8 的加载/启动画面,而是闪烁了四五行代码,因为左上角的闪烁指示器(让您知道可以输入命令的指示器)在屏幕上向下移动了大约 4 或 5 行,这不是正常功能。

我必须做一些非常规的事情才能重新回到 Windows,但我不会深入探讨这一点。

就您和我而言,我认为下一步是仔细研究这个程序,并查看它所使用的程序。

相关内容