Uno sviluppatore Microsoft ritiene che ReactOS non possa fare a meno di prendere in prestito il codice di Windows

Axel Rietschin, un ingegnere Microsoft che sviluppa il kernel di Windows, interrogato la capacità di sviluppare il sistema operativo ReactOS senza prendere in prestito codice da Windows. Secondo lui gli sviluppatori di ReactOS hanno utilizzato il codice del kernel Windows Research, il cui codice sorgente è stato concesso in licenza alle università. Fughe di notizie di questo codice sono state pubblicate in vari luoghi, incluso GitHub.

Ritchen è convinto che sia fisicamente impossibile scrivere da zero il kernel ReactOS così come è scritto ora, utilizzando solo la documentazione pubblica disponibile. In particolare, i nomi delle strutture e delle funzioni interne nel kernel ReactOS coincidono con nomi simili nel kernel Windows Research, mentre questi nomi non vengono esportati durante l'assemblaggio e non compaiono da nessuna parte se non nel codice originale. Lo stesso vale per i nomi e i parametri delle macro, i cui nomi non possono essere riprodotti accuratamente senza guardare il codice originale di Windows.

Ricordiamo che nel 2006 ReactOS aveva rivelato comprendente circa 100 righe di codice assembly ottenuto decompilando Windows. Successivamente, lo sviluppo è stato sospeso per circa un mese per condurre un controllo sui possibili incroci. Da allora, gli sviluppatori di ReactOS sono stati particolarmente attenti nel controllare i codici sorgente proposti per l'inclusione nel progetto.

Durante il reverse engineering per conformarsi alle leggi statunitensi sul copyright, il progetto ReactOS utilizza un doppio design in cui un ricercatore analizza il lavoro e produce documentazione basata su quello, e un altro sviluppatore utilizza quella documentazione per creare una nuova implementazione per ReactOS. È possibile che in fase di analisi siano stati utilizzati i codici sorgente di Windows ottenuti a seguito di fughe di notizie e che la documentazione compilata riflettesse gli stessi nomi di funzioni e strutture, ma con lo schema di sviluppo utilizzato in ReactOS, l'implementazione sarà completamente diversa e creato da zero.

Inoltre, già erano fatti pubblicazioni sulla supervisione degli assembly del kernel NT e W2K con informazioni di debug non pulite, inclusi dati sui nomi delle variabili interne. Molti nomi di strutture e funzioni si trovano anche nei file header inclusi nell'SDK/DDK e la struttura delle chiamate di sistema può essere determinata analizzando componenti come il runtime COM. Senza ripulire le tabelle dei nomi simbolici, spesso vengono pubblicati gli aggiornamenti degli hotfix. Inoltre, alcuni programmi e driver Windows utilizzano chiamate non pubbliche e non documentate e molte funzionalità nascoste di Windows vengono rivelate durante l'adattamento all'avvio nei sistemi di virtualizzazione e negli emulatori.

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

Fonte: opennet.ru

Aggiungi un commento