Один із розробників Microsoft вважає, що ReactOS не міг обійтися без запозичення коду Windows

Аксель Рітчен (Axel Rietschin), інженер компанії Microsoft, що займається розробкою ядра Windows, поставив під сумнів можливість розробки операційної системи ReactOS без запозичення коду з Windows. На його думку, розробники ReactOS скористалися кодом з ядра Windows Research, вихідні тексти якого ліцензувалися для університетів. Витоку цього коду публікувалися в різних місцях, у тому числі на GitHub.

Рітчен упевнений, що фізично неможливо з чистого аркуша написати ядро ​​ReactOS у тому вигляді, як написано воно зараз, користуючись лише наявною публічною документацією. Зокрема, імена внутрішніх структур і функцій у ядрі ReactOS збігаються з аналогічними іменами в ядрі Windows Research, тоді як ці імена не експортуються під час збирання і ніде не світяться, крім оригінального коду. Те саме стосується імен макросів і параметрів, імена яких неможливо точно відтворити, не заглядаючи в оригінальний код Windows.

Нагадаємо, що у 2006 році в ReactOS було виявлено увімкнення близько 100 рядків коду на асемблері, отриманого в результаті декомпіляції Windows. Після цього розробка приблизно на місяць була припинена для проведення аудиту можливих перетинів. З того часу розробники ReactOS особливо трепетно ​​ставляться до перевірки пропонованих для включення до проекту вихідних текстів.

При проведенні зворотного інжинірингу для відповідності законодавству США в галузі авторських прав проект ReactOS застосовує подвійну схему, при якій один дослідник проводить аналіз роботи і на його основі складає документацію, а інший розробник на основі цієї документації створює нову реалізацію для ReactOS. Не виключено, що на етапі аналізу могли використовуватися отримані в результаті витоків вихідні тексти Windows і в документації були відображені збігаються імена функцій і структур, але при схемі розробки, що застосовується в ReactOS, реалізація буде зовсім іншою і створеною з нуля.

Крім того, вже було факти публікації з недогляду збірок ядра NT і W2K з неочищеною налагоджувальною інформацією, що включає дані про імена внутрішніх змінних. Багато імен структур і функцій також наводяться в заголовних файлах, що входять до SDK/DDK, а структуру системних викликів можна визначити за допомогою аналізу таких компонентів, як COM runtime. Без чищення символьних таблиць імен часто публікуються hotfix-оновлення. Крім того, деякі програми та драйвери для Windows використовують непублічні недокументовані виклики, а багато прихованих можливостей Windows спливають у процесі адаптації запуску в системах віруалізації та емуляторах.

Розробники ReactOS могли використовувати ці компоненти в процесі інжинірингу.

Джерело: opennet.ru

Додати коментар або відгук