Uno degli sviluppatori di Microsoft ritiene che ReactOS non potesse fare a meno di prendere in prestito codice da Windows

Axel Rietschin, ingegnere della Microsoft, che si occupa dello sviluppo del kernel di Windows, ha messo in discussione la possibilità di sviluppare il sistema operativo ReactOS senza prelevare codice da Windows. Secondo lui, gli sviluppatori di ReactOS hanno utilizzato codice proveniente dal kernel di Windows Research, i cui testi sorgenti erano stati concessi in licenza alle università. Le perdite di questo codice sono state pubblicate in vari luoghi, anche su GitHub.

Rietschin è convinto che sia fisicamente impossibile scrivere da zero il kernel di ReactOS nella forma attuale, utilizzando solo la documentazione pubblicamente disponibile. In particolare, i nomi delle strutture e delle funzioni interne nel kernel di ReactOS coincidono con nomi simili nel kernel di Windows Research, mentre questi nomi non vengono esportati nella compilazione e non si trovano da nessuna parte tranne che nel codice originale. Lo stesso vale per i nomi delle macro e dei parametri, i cui nomi non possono essere riprodotti esattamente senza guardare nel codice originale di Windows.

Ricordiamo che nel 2006 in ReactOS ci fu identificate l'inclusione di circa 100 righe di codice in assembly, ottenuto a seguito della decompilazione di Windows. Dopo di che, lo sviluppo fu sospeso per circa un mese per condurre un audit sulle possibili sovrapposizioni. Da allora, gli sviluppatori di ReactOS prestano particolare attenzione al controllo dei testi sorgenti proposti per l'inclusione nel progetto.

Nell'ambito dell'ingegneria inversa per rispettare le leggi statunitensi sul copyright, il progetto ReactOS applica uno schema doppio, in cui un ricercatore analizza il funzionamento e redige la documentazione basata su questo, mentre un altro sviluppatore crea una nuova implementazione per ReactOS sulla base di questa documentazione. Non è escluso che durante l'analisi possano essere stati utilizzati i testi sorgenti di Windows ottenuti a seguito di perdite, e che nella documentazione redatta siano stati riportati nomi di funzioni e strutture coincidenti, ma nel modello di sviluppo applicato in ReactOS, l'implementazione sarà completamente diversa e creata da zero.

Inoltre, già ci sono stati fatti pubblicazioni sul monitoraggio delle build del kernel NT e W2K con informazioni di debug non pulite, incluse informazioni sui nomi delle variabili interne. Molti nomi di strutture e funzioni sono anche forniti nei file header che fanno parte dell'SDK/DDK, mentre la struttura delle chiamate di sistema può essere determinata attraverso l'analisi di componenti come il runtime COM. Senza una pulizia delle tabelle simboliche, i nomi vengono spesso pubblicati insieme a aggiornamenti hotfix. Inoltre, alcuni programmi e driver per Windows utilizzano chiamate non documentate e riservate, e molte funzionalità nascoste di Windows emergono durante il processo di adattamento dell'avvio nei sistemi di virtualizzazione e negli emulatori.

Gli sviluppatori di ReactOS potevano utilizzare questi componenti nel processo di reverse engineering.

Guarda il video

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server 🔥 Acquista hosting affidabile per siti web con protezione DDoS, VPS VDS server | ProHoster