Jeden z programistów Microsoftu uważa, że ​​ReactOS nie mógłby obejść się bez pożyczania kodu Windows

Axel Rietschin, inżynier Microsoftu, który rozwija jądro systemu Windows, kwestionowany możliwość tworzenia systemu operacyjnego ReactOS bez pożyczania kodu z systemu Windows. Jego zdaniem twórcy ReactOS wykorzystali kod z jądra Windows Research, którego kod źródłowy był licencjonowany uniwersytetom. Wycieki tego kodu zostały opublikowane w różnych miejscach, w tym na GitHubie.

Ritchen jest przekonany, że napisanie jądra ReactOS od zera w takiej formie, w jakiej jest napisane obecnie, przy użyciu jedynie dostępnej publicznej dokumentacji, jest fizycznie niemożliwe. W szczególności nazwy wewnętrznych struktur i funkcji w jądrze ReactOS pokrywają się z podobnymi nazwami w jądrze Windows Research, przy czym nazwy te nie są eksportowane podczas asemblacji i nie pojawiają się nigdzie poza oryginalnym kodem. To samo dotyczy nazw makr i parametrów, których nazw nie da się dokładnie odtworzyć bez sprawdzenia oryginalnego kodu Windows.

Przypomnijmy, że w 2006 roku ReactOS miał ujawnił w tym około 100 linii kodu asemblera uzyskanego przez dekompilację systemu Windows. Następnie prace rozwojowe zostały zawieszone na około miesiąc w celu przeprowadzenia audytu ewentualnych skrzyżowań. Od tego czasu programiści ReactOS ze szczególną uwagą sprawdzają kody źródłowe proponowane do włączenia do projektu.

Podczas inżynierii wstecznej w celu zapewnienia zgodności z amerykańskimi prawami autorskimi projekt ReactOS wykorzystuje podwójny projekt, w którym jeden badacz analizuje pracę i na jej podstawie pisze dokumentację, a drugi programista wykorzystuje tę dokumentację do stworzenia nowej implementacji dla ReactOS. Możliwe, że na etapie analizy uda się wykorzystać kody źródłowe Windows uzyskane w wyniku wycieków, a skompilowana dokumentacja będzie odzwierciedlała te same nazwy funkcji i struktur, jednak przy schemacie rozwoju zastosowanym w ReactOS implementacja będzie zupełnie inna i stworzony od podstaw.

Co więcej, już były fakty publikacje dotyczące nadzoru nad zespołami jądra NT i W2K z nieoczyszczonymi informacjami debugowania, w tym danymi o nazwach zmiennych wewnętrznych. Wiele nazw struktur i funkcji znajduje się także w plikach nagłówkowych zawartych w zestawie SDK/DDK, a strukturę wywołań systemowych można określić, analizując takie komponenty, jak środowisko wykonawcze COM. Często publikowane są aktualizacje poprawek bez czyszczenia tabel nazw symbolicznych. Ponadto niektóre programy i sterowniki systemu Windows korzystają z niepublicznych, nieudokumentowanych wywołań, a wiele ukrytych funkcji systemu Windows zostaje ujawnionych podczas adaptacji uruchamiania w systemach wirtualizacji i emulatorach.

Programiści ReactOS mogliby wykorzystać te komponenty w procesie inżynierii wstecznej.

Źródło: opennet.ru

Dodaj komentarz