Axel Rietschin, Ingenieur bei Microsoft und Entwickler des Windows-Kernels, die Möglichkeit, ein Betriebssystem wie ReactOS zu entwickeln, ohne Code aus Windows zu entlehnen. Seiner Meinung nach haben die Entwickler von ReactOS auf Code aus dem Windows Research-Kernel zurückgegriffen, dessen Quelltexte für Universitäten lizenziert wurden. Leaks dieses Codes wurden an verschiedenen Orten, unter anderem auf GitHub, veröffentlicht.
Rietschin ist sich sicher, dass es physisch unmöglich ist, den ReactOS-Kernel in der aktuellen Form von Grund auf neu zu schreiben, allein anhand der vorhandenen öffentlichen Dokumentation. Insbesondere die Namen interner Strukturen und Funktionen im ReactOS-Kernel stimmen mit ähnlichen Namen im Windows Research-Kernel überein, während diese Namen bei der Kompilierung nicht exportiert werden und nirgendwo außer im Originalcode auftauchen. Gleiches gilt für die Namen von Makros und Parametern, deren Bezeichnungen sich ohne Einsicht in den ursprünglichen Windows-Code nicht genau reproduzieren lassen.
Erinnern wir uns daran, dass im Jahr 2006 in ReactOS war Die Integration von etwa 100 Zeilen Assembler-Code, die aus der Dekompilierung von Windows gewonnen wurden. Danach wurde die Entwicklung für etwa einen Monat ausgesetzt, um mögliche Überschneidungen zu überprüfen. Seitdem legen die Entwickler von ReactOS besonderen Wert auf die Prüfung der Quelltexte, die für die Aufnahme in das Projekt vorgeschlagen werden.
Im Rahmen des Reverse Engineering zur Einhaltung der US-amerikanischen Urheberrechtsgesetze verwendet das ReactOS-Projekt ein zweistufiges Verfahren, bei dem ein Forscher die Funktionsweise analysiert und darauf basierend Dokumentationen erstellt, während ein anderer Entwickler basierend auf dieser Dokumentation eine neue Implementierung für ReactOS erstellt. Es ist nicht ausgeschlossen, dass bei der Analyse auch durch Leaks erhaltene Quelltexte von Windows verwendet wurden und in den erstellten Dokumentationen übereinstimmende Funktions- und Strukturbezeichnungen reflektiert wurden, aber bei dem in ReactOS angewandten Entwicklungsansatz wird die Implementierung völlig anders und von Grund auf neu sein.
Darüber hinaus ist bereits Veröffentlichungen über die Vernachlässigung von NT- und W2K-Kernel-Builds mit nicht gereinigten Debug-Informationen, die Daten zu internen Variablennamen enthalten. Viele Strukturen und Funktionsnamen sind ebenfalls in den Header-Dateien des SDK/DDK enthalten, und die Struktur der Systemaufrufe lässt sich durch die Analyse solcher Komponenten wie dem COM-Laufzeitumgebung bestimmen. Ohne die Bereinigung von Symboltabellen werden oft Hotfix-Updates veröffentlicht. Zudem nutzen einige Programme und Treiber für Windows nicht dokumentierte, nicht öffentliche Aufrufe, und viele verborgene Funktionen von Windows treten während der Anpassung des Starts in Virtualisierungs- und Emulationssystemen zutage.
Die Entwickler von ReactOS konnten diese Komponenten beim Reverse Engineering nutzen.

Quelle: opennet.ru
