¿Los archivos de origen compartido de Windows se compilan en los mismos binarios que la versión comercial?

9

Microsoft pone el código fuente de Windows a disposición de ciertas organizaciones de terceros, como los gobiernos de EE. UU. y extranjeros, universidades, etc. Este es su Compartido Fuente de Iniciativa

¿Es este un conjunto completo de archivos fuente de Windows y es posible compilar todo el sistema operativo con él? Si es así, ¿los binarios resultantes son exactamente iguales a los binarios oficiales de Microsoft en ese momento?

Por supuesto, el razonamiento para esta pregunta es saber si hay algunas organizaciones "independientes" que podrían encontrar puertas traseras en los componentes de seguridad de Windows.

Diga que el FSB ruso, que es parte de la iniciativa de origen compartido, solo recibe un montón de archivos de origen que dicen ser la cosa real'. ¿No estarían satisfechos solo después de poder construir el sistema operativo y compararlos con binarios minoristas?

Cómo reaccionarían en cualquiera de sus descubrimientos es otra pregunta.

Y si necesitan el compilador Microsoft C ++ para construir el sistema operativo, ¿también obtienen las fuentes para eso?

    
pregunta Peter Hahndorf 07.09.2013 - 09:46
fuente

1 respuesta

6

Hay diferentes niveles de acceso, que dependen de la NDA particular y del acuerdo que se firme. Estas son mis observaciones hechas de público .

Por lo que sé, no hay un nivel que permita la verificación directa del código para la compilación. Todo está en un formato prettificado, similar a cómo Github et al muestran el código. Alguien con acceso podría copiar los archivos sin ningún problema, pero no puede realizar una exportación o pago masivo.

La mayoría de Windows está escrito en C y algunas cosas más nuevas en C ++, con muy poco escrito en ensamblador. Alguien podría compilar el código con compiladores estándar de MS (asumiendo que tienen las versiones correctas), pero para hacer los archivos DLL y los EXE necesarios deberían saber cómo se construye, necesitarían varios archivos MAKE y relacionados, y esos archivos probablemente no sean t presente en cualquiera de los acuerdos. Como mínimo, no están presentes en los acuerdos menos privilegiados (por ejemplo, supuestamente. Las NDA hacen que sea imposible explicar en detalle lo que realmente está presente ya que aquellos que saben no pueden compartir o reconocer que tienen acceso.)). En el caso de que alguien pueda crear, los resultados podrían diferir porque puede haber algunos procesos posteriores a la compilación / pre-empaque al momento del envío.

Donde las cosas se ponen interesantes, sin embargo, es obtener acceso a los símbolos del compilador para ciertos componentes de Windows. Esto permite que los desarrolladores sigan más fácilmente las rutas de código durante la depuración. Entre los símbolos y el acceso del navegador a la fuente, alguien podría buscar errores / puertas traseras / lo que sea.

Sin embargo, buscar problemas en código como este es más complicado de lo que algunos pueden pensar. Hay millones y millones de líneas de código en Windows, y la estructura de los archivos puede parecer precaria si no está familiarizado con ellos.

EDITAR: en teoría, el código es el mismo; No está claro con qué frecuencia se actualiza el código para cosas como parches. Si es realmente el mismo código, bueno ... quién sabe.

    
respondido por el Steve 09.09.2013 - 17:06
fuente

Lea otras preguntas en las etiquetas