La capa del controlador detecta si la API del proceso R3 ha sido enganchada.
El método de detección también es muy sencillo. El método del que hablamos hoy es el más estable y sencillo para detectar procesos ocultos en Ring0, y no tiene por qué ser complicado.
PspCidTable (tabla de identificadores de procesos), al fin y al cabo, la estructura de PspCidTable es diferente en cada sistema, en Windows.
En 2000, era una tabla de dos niveles, y después de XP se convirtió en una tabla de tres niveles, al mismo tiempo, obtiene una dirección diferente en cada sistema, por lo que todavía la usamos.
El ZwQuerySystemInformation que se va a enumerar. Algunas personas pueden decir que solo puede enumerar Hook EnumProcess o Hook en Ring3.
Win32 como CreateToolhelp32Snapshot.
Procesos ocultos por API. Por cuestiones de espacio, en el próximo número te contaré el método general para obtener el valor sobre cómo obtener la dirección SSDT (Tabla de descripción de servicios del sistema) real, para que no tengas que preocuparte por no detectar Gray Pigeon y PcShare. Troyano. Lo primero que hay que decir es que la función de asignar memoria en el controlador ya no es nueva y eliminar, sino ExAllocatePool y.
ExFreePool. Si hay demasiados procesos del sistema, la llamada a ZwQuerySystemInformation puede fallar. Este artículo utiliza un bucle para cambiar el tamaño del búfer, aumentando el tamaño del búfer dos veces a la vez hasta que se logra. El tamaño inicial del búfer en este artículo es 32 KB. Si se asigna demasiado por primera vez, el proceso del kernel del sistema ocupará demasiada memoria y afectará el rendimiento del sistema. Al mismo tiempo, el controlador del kernel está codificado en Unicode, por lo que todos deben prestar atención.