过程监视器:带有缓冲区溢出的条目


17

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

我使用Sysinternals Process Monitor分析了系统,并在日志中找到了许多“缓冲区溢出”条目(请参见下文)。有解决问题的想法吗?

先感谢您!日志条目例如:

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

Answers:


29

这不是错误。发生的情况是程序正在请求其长度未知的数据。它提供了一个初始缓冲区。如果太小,则会返回缓冲区溢出以及所需的大小,程序可以使用正确的大小重新发出请求。不要与缓冲区溢出一词混淆使用,缓冲区溢出指的是可能导致安全漏洞的错误数据覆盖。


1
这不是暗示第二个电话会成功吗?我看到带有BUFFER OVERFLOW的同一个DLL连续5次调用,但没有看到任何成功的调用。听起来它正在重试,失败并且从未成功。
Shiv

0

我自己有时会在不同的程序中注意到这一点,很多网络扫描仪和工具也为我带来了这一点。

逻辑上的第一步是通过监视“进程监视器”并查看发生的时间并尝试复制它来缩小“错误”或问题的范围(如果您愿意)。如果遇到问题,请尝试调整过滤器。

我现在正在尝试此操作,发现BluetoothView.exe创建文件后查询相同的文件会导致缓冲区溢出(BO),这就是导致BO的原因。一个例子是其中一个下毫秒的千分之一,BluetoothView创建与操作的BO一个实例:QuerySecurityFile (BluetoothApis.dll)

根据Process在选项卡Event Properties(中procmon),有包括通用的shell文件和事情,如模块列表SkyDriveShell.dllKernelBase.dllieframe.dllWindows.Media.Streaming.dll和编解码器,以及其他Nirsoft软件作为网络浏览器等。尽管可能已经发现这些问题是受蓝牙影响的,但奇怪的是,实际程序从未打开任何东西。

下的Stack标签上,模块是:ntdll.dllkernel32.dllwow64.dllwow64cpu.dllguard32.dllfltmgr.sysntoskrnl.exeapphelp.dllBluetoothView.exe,和<unknown>

我正在检查这是因为我已经离开家一段时间,并且让计算机运行了几天,当我回来时,我发现有些地方不对,只是想检查一下。打开任务管理器后,我的计算机崩溃了,无法再完成Windows 8的加载。屏幕上闪烁了四到五行代码,而不是W8的加载/启动屏幕,左上角的指示灯闪烁了(让您知道可能输入了命令)在屏幕上下降了大约4或5行,这不是正常功能。

我必须做一些非常规的事情才能重新进入Windows,但是我不会再讨论了。

对于您和我来说,我认为下一步是研究该程序,并研究其所使用的程序。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.