Монитор процесса: входы с переполнением буфера

17

В данный момент я пытаюсь решить проблемы с производительностью 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
LaPhi
источник

Ответы:

29

Это не ошибка. Происходит то, что программа запрашивает данные, длина которых она не знает. Это обеспечивает начальный буфер. Если он слишком мал, возвращается переполнение буфера вместе с необходимым размером, и программа может переиздать запрос с правильным размером. Не путайте с использованием термина «переполнение буфера» для обозначения ошибочной перезаписи данных, которая может привести к уязвимости безопасности.

Дэвид Маршалл
источник
1
Разве это не означает, что второй звонок будет успешным? Я вижу 5 последовательных вызовов для одной и той же DLL с переполнением буфера, и я не вижу успешных вызовов. Похоже, что это повторяется и терпит неудачу и никогда не удается.
Шив
0

Я иногда замечаю это в разных программах, и многие сетевые сканеры и инструменты также помогают мне в этом.

Первый логический шаг заключается в том, чтобы сузить «ошибку» или проблему, если хотите, - наблюдая за монитором процесса, и посмотреть, когда это произойдет, и попытаться воспроизвести его. Если у вас возникли проблемы, попробуйте настроить фильтры.

Я пытаюсь это сейчас, и я обнаружил, BluetoothView.exeчто после создания файла переполнение буфера (BO), а затем запросить тот же файл - что и стало причиной BO. Один из примеров - это случай, когда BluetoothView с точностью до тысячных долей миллисекунды создает BO с помощью операции:QuerySecurityFile (BluetoothApis.dll) .

Под Processвкладке Event Propertiesprocmon), есть список модулей , в том числе общие файлы оболочки и такие вещи, как SkyDriveShell.dll, KernelBase.dll, ieframe.dll,Windows.Media.Streaming.dll и кодеки, и другое программное обеспечение NirSoft , такие как Network Explorer. Хотя эти вещи могли быть обнаружены с помощью Bluetooth, странно, что настоящая программа никогда ничего не обнаруживала.

Под Stackвкладки, модули являются: ntdll.dll, kernel32.dll, wow64.dll, wow64cpu.dll, guard32.dll, fltmgr.sys, ntoskrnl.exe, apphelp.dll, BluetoothView.exe, и<unknown> .

Я проверял это, потому что я оставил свой дом на некоторое время и оставил свой компьютер включенным на несколько дней, когда я вернулся, я заметил несколько вещей не к месту и просто хотел проверить. После открытия диспетчера задач мой компьютер вышел из строя и больше не завершал загрузку Windows 8. Вместо экрана загрузки / заставки для W8 на экране мигали четыре или пять строк кода, как мигающий индикатор в левом верхнем углу (тот, который позволяет вам знать, что команды могут быть введены) на 4 или 5 строк вниз по экрану, что не является нормальной функцией.

Мне нужно было сделать некоторые нетрадиционные вещи, чтобы вернуться в Windows, но я не буду вдаваться в подробности.

В вашем случае, и в моем, я думаю, что следующим шагом будет поиск по этой программе, а также поиск программ, с которыми она играет.

asilentfire
источник
это тоже может помочь: blogs.technet.com/b/markrussinovich/archive/2005/05/17/…
asilentfire