Axel Rietschin, ingénieur chez Microsoft, en charge du développement du noyau Windows, la possibilité de développer le système d'exploitation ReactOS sans emprunter de code à Windows. Selon lui, les développeurs de ReactOS ont utilisé du code provenant du noyau Windows Research, dont les codes sources ont été licenciés pour les universités. Des fuites de ce code ont été publiées à divers endroits, y compris sur GitHub.
Rietschin est convaincu qu'il est physiquement impossible d'écrire le noyau ReactOS tel qu'il est écrit actuellement, à partir de zéro, en ne se basant que sur la documentation publique disponible. En particulier, les noms des structures internes et des fonctions dans le noyau ReactOS coïncident avec les noms similaires dans le noyau Windows Research, alors que ces noms ne sont pas exportés lors de la compilation et ne sont visibles nulle part, sauf dans le code original. Il en va de même pour les noms des macros et des paramètres, dont il est impossible de reproduire avec précision les noms sans se référer au code original de Windows.
Rappelons qu'en 2006, ReactOS a inclus environ 100 lignes de code en langage assembleur, provenant de la décompilation de Windows. Après cela, le développement a été suspendu pendant environ un mois pour réaliser un audit des éventuelles intersections. Depuis, les développeurs de ReactOS font preuve d'un soin particulier dans la vérification des codes sources proposés pour inclusion dans le projet.
Lors de l'ingénierie inverse pour se conformer à la législation américaine en matière de droits d'auteur, le projet ReactOS applique un double schéma, où un chercheur effectue l'analyse et rédige la documentation, tandis qu'un autre développeur crée une nouvelle implémentation pour ReactOS sur la base de cette documentation. Il est possible que lors de l'analyse, des codes sources de Windows obtenus par le biais de fuites aient été utilisés, et que des noms de fonctions et de structures coïncidents aient été portés dans la documentation, mais dans le schéma de développement appliqué dans ReactOS, l'implémentation sera complètement différente et créée de zéro.
De plus, déjà publications sur la négligence des constructions du noyau NT et W2K avec des informations de débogage non purgées, incluant des données sur les noms des variables internes. De nombreux noms de structures et de fonctions sont également présents dans les fichiers d'en-tête inclus dans le SDK/DDK, et la structure des appels système peut être déterminée par l'analyse de composants tels que le runtime COM. Sans purging des tables de symboles, des mises à jour hotfix sont souvent publiées. En outre, certains programmes et pilotes pour Windows utilisent des appels non documentés et non publics, et de nombreuses fonctionnalités cachées de Windows apparaissent lors du processus d'adaptation de lancement dans des systèmes de virtualisation et des émulateurs.
Les développeurs de ReactOS ont pu utiliser ces composants lors du processus de rétro-ingénierie.

Source : opennet.ru
