¿Qué tipo de ruta de aprendizaje debería haber para el desarrollo de bajo nivel en la plataforma Windows?
El interrogador preguntó sobre la ruta de aprendizaje. Las siguientes son mis opiniones personales (actualmente soy pasante de desarrollo en una empresa de seguridad de redes):
1. <
2. Los libros de referencia de Windows api (win32sdk) ("Programación de Windows", "Programación central de Windows", MFC y similares se pueden utilizar como referencia cuando necesite usarlos, sin gastar demasiada energía. , principalmente Para comprender el mecanismo de mensajes, eventos, etc. del programa, el enfoque principal debe estar en la inyección de subprocesos, varios HOOKs de Ring3, etc. Esta etapa es en el segundo semestre de mi segundo año. Para ser honesto, tengo. He visto muy poco en este aspecto. Dediqué mucho tiempo a cosas sin sentido, lo que me llevó a una grave falta de experiencia cuando participé en la competencia de seguridad de la información como conductor en mi tercer año, por lo que lo básico es demasiado importante). p>
3. Luego está el desarrollo del kernel del controlador de Windows (libros de referencia, Hanjiang Fishing Alone, explicación detallada de Zhang Fan sobre la tecnología de desarrollo de controladores de Windows, varios códigos de muestra en WDK) Familiarizado con varios marcos de controladores de filtro (controlador de filtro de archivos, controlador de microfiltro de archivos, tdi, protocolo ndis, capa intermedia ndis, puerto pequeño ndis, etc.). Luego están los principios subyacentes de varios sistemas, el proceso de creación de procesos, el proceso de creación de archivos y el proceso de comunicación entre procesos. Utilice varias herramientas de depuración y desmontaje (od, ida, windbg) para rastrear y analizar. puede escribir algunas herramientas Rootkit/Anti-Rootkit, como SSDT HOOK OpenProcess para ocultar y proteger procesos, eliminar listas vinculadas de procesos, etc., que ayudan a comprender el mecanismo subyacente del sistema
4. La última etapa se trata de experiencia y fortaleza interna, qué es ""Análisis en profundidad del sistema operativo Windows", "TCP/IP" Volumen 123, "Principios e implementación del kernel de Windows", etc. Para decirlo sin rodeos, personalmente creo que el desarrollo de bajo nivel requiere altas habilidades de depuración y se puede obtener información útil del archivo de volcado de pantalla azul Información
.