Axel Rietschin, a Microsoft engineer involved in the development of the Windows kernel, the possibility of developing the ReactOS operating system without borrowing code from Windows. According to him, the developers of ReactOS utilized code from the Windows Research kernel, the source texts of which were licensed for universities. Leaks of this code were published in various places, including GitHub.
Rietschin is convinced that it is physically impossible to write the ReactOS kernel from scratch in its current form using only the existing public documentation. In particular, the names of internal structures and functions in the ReactOS kernel match similar names in the Windows Research kernel, while these names are not exported during compilation and do not appear anywhere except in the original code. The same applies to macro and parameter names, which cannot be accurately reproduced without looking at the original Windows code.
Let us recall that in 2006, ReactOS included about 100 lines of assembly code obtained through the decompilation of Windows. After that, development was temporarily halted for about a month to conduct an audit of possible overlaps. Since then, the developers of ReactOS have been particularly cautious when checking the source texts proposed for inclusion in the project.
In conducting reverse engineering to comply with U.S. copyright law, the ReactOS project employs a dual scheme, where one researcher analyzes the operation and compiles documentation based on it, while another developer creates a new implementation for ReactOS based on this documentation. It is possible that during the analysis stage, source texts from Windows obtained from leaks were used and that matching function and structure names were reflected in the compiled documentation, but with the development scheme used in ReactOS, the implementation will be entirely different and created from scratch.
Additionally, already a NT kernel és W2K buildupokról szóló kiadványok, amelyek tisztítatlan hibakeresési információkat tartalmaznak, beleértve a belső változók neveit. Sok struktúra és függvény nevei szintén megtalálhatók az SDK/DDK-hoz tartozó fejlécfájlokban, és a rendszerhívások struktúráját olyan összetevők elemzésén keresztül lehet meghatározni, mint a COM runtime. A szimbolikus táblák tisztítása nélkül gyakran publikálnak hotfix frissítéseket. Ezen kívül néhány Windows program és illesztőprogram nem nyilvános, nem dokumentált hívásokat használ, és sok rejtett Windows funkció felszínre kerül a virtualizációs rendszerek és emulátorok indításának adaptációja során.
A ReactOS fejlesztői felhasználhatták ezeket az összetevőket a visszafejtési folyamat során.

Forrás: opennet.ru
