Red de conocimiento informático - Problemas con los teléfonos móviles - Tabla de contenidos para la programación de seguridad del kernel de Windows desde el inicio hasta la práctica

Tabla de contenidos para la programación de seguridad del kernel de Windows desde el inicio hasta la práctica

Tabla de contenido

Conceptos básicos de la parte 1

Capítulo 1 Requisitos previos y construcción del entorno 2

1.1 Lenguaje de programación del controlador 2

>

1.2 Configuración del entorno de desarrollo 2

1.2.1 Instalación y configuración de Visual Studio 2005/2008 2

1.2.2 Instalación y configuración de WDK 4

1.2.3 Instalación y configuración de VisualDDK 5

1.3 Introducción a las herramientas comunes 6

Capítulo 2 Conocimientos básicos de programación del kernel 7

2.1 Componentes principales del sistema Windows 7

2.1.1 Administrador de Objetos 7

2.1.2 Administrador de Memoria 7

2.1.3 Administrador de Procesos y Hilos 7

2.1. 4 Administrador de E/S 8

2.1.5 Administrador de PnP 8

2.1.6 Administrador de energía 8

p>

2.1.7 Administrador de configuración 9

2.1.8 Monitor de referencia de seguridad 9

2.2 Explicación de términos comunes 9

2.2.1 Sustantivo del kernel 9

2.2.2 Sustantivo de archivo 13

2.2.3 Sustantivo de red 13

2.3 Estructura de datos del kernel común 15

2.3.1 Estructuras de datos comunes del marco del controlador 15

2.3.2 Estructuras de datos de procesos y subprocesos 17

2.3.3 Estructuras de datos del sistema de almacenamiento 23

2.3.4 Estructura de datos de red 25

2.3.5 Algunos otros estructuras de datos comunes 29

Capítulo 3 Métodos de programación básicos 37

3.1 Modelo de controlador simple estilo NT 37

p>

3.1.1 Selección del modelo de controlador 37

3.1.2 Estructura básica del controlador NT 37

3.1.3 Compilación del controlador 40

3.1.4 Carga del controlador y visualización de la información de salida 40

3.2 Método de comunicación entre la capa de aplicación y el kernel 43

3.2.1 Método de E/S para acceder a los datos 43

3.2.2 Controlador de lectura y escritura 45

3.2.3 Enviar código de control de E/S 49

3.2.4 Compartir memoria 54

3.3 Tecnología de sincronización 56

3.3.1 Evento objeto 56

3.3.2 Objeto semáforo 57

3.3.3 Objeto mutex 58

3.3.4 Objeto temporizador 61

3.3. 5 Bloqueo de giro 64

3.3.6 Objeto de devolución de llamada 64

3.3.7 Operación atómica 70

3.4 Procesamiento IRP 70

3.4. 1 Diagrama de flujo de IRP simple 71

3.4.2 Creación de IRP 72

3.4.3 Envío de IRP 75

3.4.4 Configuración de la función de finalización para IRP 76

3.4.5 Finalización de IRP 78

3.4.6 Varios procesamientos IRP típicos Ejemplo 85

3.5 Operaciones de cadena 89

3.5.1 STRING, ANSI_STRING y

UNICODE_STRING 89

3.5.2 Inicialización y destrucción 90

3.5.3 Copiar y agregar 91

3.5.4 Comparar 92

3.5.5 Convertir 93

3.6 Gestión de memoria 94

3.6.1 Asignación de memoria espacial del sistema 94

3.6.2 Tiempo de ejecución funciones de administración de bibliotecas 95

3.6.3 Usando la pila del kernel

96

3.6.4 Uso de la lista rápida Lookaside 97

3.6.5 Acceso a la memoria del espacio del usuario 101

3.6.6 Vistas y objetos del área de memoria 101

3.6.7 Uso de MDL 103

3.7 Programación de registro 105

3.7.1 Función de gestión de objetos de registro 105

3.7.2 Tiempo de ejecución de la tabla de registro funciones de biblioteca 112

3.7.3 Filtrado de llamadas de registro 116

3.8 Programación de archivos 120

3.8.1 Abrir identificador de archivo 120

3.8 .2 Ejecutar operaciones de archivos relacionados 121

3.9 Otros 127

3.9.1 Versiones Nt y Zw de funciones de servicio del sistema local 127

p>

3.9 .2 Valor de retorno NTSTATUS 128

3.9.3 Uso de listas doblemente enlazadas 128

3.9.4 Manejo de excepciones 129

Mejora de la Parte 2

Capítulo 4 Proceso 132

4.1 Principio de implementación del monitoreo de procesos 132

4.2 Proceso bajo el sistema Windows 7

Ejemplo de software de monitoreo 132

4.2.1 Implementación del programa del módulo Kernel 132

4.2.2 Implementación del programa en modo usuario 149

4.3 Instalación y uso 164

Capítulo 5 Disco 165

5.1 Arquitectura del controlador de almacenamiento 165

5.2 Ejemplo de árbol de dispositivos 166

5.3 controlador de filtro de disco diskperf 167

5.3.1 Introducción a Diskperf 167

5.3.2 marco de filtrado diskperf 168

5.3.3 compatibilidad con PnP de diskperf 172

5.3.4 monitoreo de acceso al disco duro de diskperf

y captura de datos de rendimiento 187

5.3.5 Soporte de energía de Diskperf 194

5.3.6 Instalación y prueba de Diskperf 194

Capítulo 6 Teclado 197

6.1 Principio seguimiento 197

6.1.1 Proceso ascendente 197

6.1.2 Proceso descendente 205

6.2 Varios comportamientos comunes de registro de teclas 208

6.2.1 Enlace de mensajes de la capa de aplicación 208

6.2.2 Controlador de filtro de teclado 208

p>

6.2.3 Distribución del controlador de teclado

Enganche de función 214

6.2.4 Tecnología DKOM 214

6.2.5 Otros métodos 215

6.3 Anti-keylogging 216

6.3.1 Principio de implementación 216

6.3.2 Ejemplo de anti-keylogging 216

Capítulo 7 Archivos 242

7.1 Seguimiento de principios 242

7.1.1 Almacenamiento de Windows pila 242

7.1.2 Almacenamiento de datos que no involucra caché 243

7.1.3 Almacenamiento de datos que involucra caché 253

7.2 Ocultación simple de archivos 254

7.2.1 Principio de ocultación de archivos 254

7.2.2 Implementación de ocultación de archivos 255

7.3 Escáner escáner 264

7.3.1 Administrador de filtros y microfiltración

Concepto de accionamiento 265

7.3.2 Ventajas de utilizar el modelo de gestión de filtros 266

7.3.3 Carga y descarga de controladores de microfiltros 267

7.3.4 Interacción entre el modo usuario y el modo kernel 269

7.

3.5 Introducción al escáner 287

7.3.6 Controlador del escáner 288

7.3.7 Programa de capa de aplicación del escáner 303

7.3.8 Instalación y uso del escáner 309

Capítulo 8 Red 310

8.1 Seguimiento de principios 310

8.2 Controlador del protocolo NDIS 317

8.2.1 DriverEntry 317

8.2.2 Enlace 320

8.2.3 Envío de datos 327

8.2.4 Recepción de datos 334

8.2.5 Resumen del flujo de datos 348

8.3 OPEN_BLOCK visualización 349