close

Cómo bloquear el dispositivo de almacenamiento USB por Symantec Endpoint Protection 12.1.X

}

Aquí es que hace su operación AND bit a bit y dicta su resultado, saltar o no saltar.

Condiciones de Conductor vulnerable durante la finalización de un IRP las E / S I Manager copia los datos de la memoria intermedia del sistema de nuevo a búfer de salida del usuario Si utiliza el método búfer de E / S (METHOD_BUFFERED) y el estado es de un éxito o advertencia. El número de bytes a copiar se toma del campo IRP-> IoStatus.Information.

Los siguientes valores de rango indican los códigos de error y de estado de alerta:

códigos NTSTATUS 0xC0000000 - 0xFFFFFFFF son los errores de códigos NTSTATUS 0x80000000 - 0xBFFFFFFF son advertencias

En el código anterior, podemos ver que utiliza el NT_ERROR macro () para evaluar si no es un estado de error.

Así que si los datos son demasiado grandes para la memoria intermedia, el conductor completa el IRP con un STATUS_BUFFER_OVERFLOW estado (0x80000005), que cae en el rango de advertencia, y el IRP-> IoStatus.Information se actualizará con el tamaño del búfer y los datos de copiado . Si se completa con STATUS_BUFFER_TOO_SMALL estado (0xC0000023) que cae en el rango de error, el administrador de E / S no copia los datos a la memoria intermedia de salida, ya que establece la IRP-> IoStatus.Information a 0.

Para reproducir un conductor vulnerables para fines de prueba utilizan este código en tu rutina de envío de búfer de E / S. El valor IoStatus.Information tiene que ser 1 o más para una sobrescritura a tener lugar.

IRP-> IoStatus.Information = 4;

Previous Post     Next Post


TAGS


CATEGORIES

.