Un desarrollador de Microsoft cree que ReactOS no podría prescindir del código de Windows

Axel Rietschin, ingeniero de Microsoft, encargado del desarrollo del núcleo de Windows, cuestionó la posibilidad de desarrollar un sistema operativo como ReactOS sin tomar prestado código de Windows. Según él, los desarrolladores de ReactOS utilizaron código del núcleo de Windows Research, cuyos códigos fuente fueron licenciados para universidades. Fugas de este código se publicaron en varios lugares, incluidos GitHub.

Rietschin está seguro de que es físicamente imposible escribir el núcleo de ReactOS desde cero tal como está ahora, utilizando solo la documentación pública disponible. En particular, los nombres de las estructuras y funciones internas del núcleo de ReactOS coinciden con los nombres similares en el núcleo de Windows Research, mientras que estos nombres no se exportan al compilar y no aparecen en ningún lugar excepto en el código original. Lo mismo ocurre con los nombres de macros y parámetros, cuyos nombres no se pueden reproducir con precisión sin consultar el código original de Windows.

Recordemos que en 2006, en ReactOS hubo detectado la inclusión de cerca de 100 líneas de código en ensamblador, obtenidas a través de la descompilación de Windows. Después de esto, el desarrollo fue suspendido durante aproximadamente un mes para realizar una auditoría de posibles coincidencias. Desde entonces, los desarrolladores de ReactOS han tratado con especial cuidado la verificación de los códigos fuente propuestos para su inclusión en el proyecto.

Al realizar ingeniería inversa para cumplir con la legislación de derechos de autor de EE. UU., el proyecto ReactOS aplica un esquema dual, donde un investigador analiza la operación y, sobre esta base, elabora la documentación, y un segundo desarrollador, basándose en esta documentación, crea una nueva implementación para ReactOS. No se puede descartar que en la etapa de análisis se hayan utilizado los códigos fuente de Windows obtenidos mediante filtraciones, y que los nombres de funciones y estructuras coincidentes se reflejaron en la documentación elaborada, pero con el esquema de desarrollo aplicado en ReactOS, la implementación será completamente diferente y creada desde cero.

Además, ya hay fueron hechos publicaciones sobre la falta de atención en la compilación de núcleos de NT y W2K con información de depuración no eliminada, que incluye datos sobre los nombres de las variables internas. Muchos nombres de estructuras y funciones también se mencionan en los archivos de encabezado que forman parte del SDK/DDK, y la estructura de las llamadas al sistema se puede determinar a través del análisis de componentes como el tiempo de ejecución de COM. Sin la limpieza de tablas de símbolos, a menudo se publican actualizaciones hotfix. Además, algunos programas y controladores para Windows utilizan llamadas no documentadas y no públicas, y muchas funcionalidades ocultas de Windows emergen durante el proceso de adaptación del arranque en sistemas de virtualización y emuladores.

Los desarrolladores de ReactOS pudieron usar estos componentes durante el proceso de ingeniería inversa.

Reproducir video

Fuente: opennet.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster