Un développeur Microsoft estime que ReactOS ne pourrait pas se passer d'emprunter du code Windows

Axel Rietschin, ingénieur Microsoft qui développe le noyau Windows, interrogé 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é le code du noyau Windows Research, dont le code source était concédé sous licence aux universités. Des fuites de ce code ont été publiées à divers endroits, notamment sur GitHub.

Ritchen est convaincu qu'il est physiquement impossible d'écrire le noyau ReactOS à partir de zéro tel qu'il est écrit actuellement, en utilisant uniquement la documentation publique disponible. En particulier, les noms des structures et fonctions internes du noyau ReactOS coïncident avec des noms similaires dans le noyau Windows Research, alors que ces noms ne sont pas exportés lors de l'assemblage et n'apparaissent nulle part sauf dans le code d'origine. Il en va de même pour les noms de macros et les paramètres, dont les noms ne peuvent pas être reproduits avec précision sans consulter le code Windows d'origine.

Rappelons qu'en 2006 ReactOS avait identifié comprenant environ 100 lignes de code assembleur obtenues en décompilant Windows. Après cela, le développement a été suspendu pendant environ un mois pour procéder à un audit des intersections possibles. Depuis lors, les développeurs de ReactOS ont été particulièrement attentifs à vérifier les codes sources proposés à l'inclusion dans le projet.

Lors de l'ingénierie inverse pour se conformer aux lois américaines sur le droit d'auteur, le projet ReactOS utilise une conception double dans laquelle un chercheur analyse le travail et produit une documentation basée sur celui-ci, et un autre développeur utilise cette documentation pour créer une nouvelle implémentation pour ReactOS. Il est possible qu'au stade de l'analyse, les codes sources Windows obtenus à la suite de fuites puissent être utilisés et que la documentation compilée reflète les mêmes noms de fonctions et de structures, mais avec le schéma de développement utilisé dans ReactOS, l'implémentation sera complètement différente et créé à partir de zéro.

D’ailleurs déjà étaient réalités publications sur la surveillance des assemblages de noyau NT et W2K avec des informations de débogage non nettoyées, y compris des données sur les noms des variables internes. De nombreux noms de structure et de fonction se trouvent également dans les fichiers d'en-tête inclus dans le SDK/DDK, et la structure des appels système peut être déterminée en analysant des composants tels que le runtime COM. Sans nettoyer les tables de noms symboliques, des mises à jour de correctifs sont souvent publiées. De plus, certains programmes et pilotes Windows utilisent des appels non publics et non documentés, et de nombreuses fonctionnalités Windows cachées sont révélées lors de l'adaptation au démarrage dans les systèmes de virtualisation et les émulateurs.

Les développeurs ReactOS pourraient utiliser ces composants dans le processus d'ingénierie inverse.

Source: opennet.ru

Ajouter un commentaire