Jedan Microsoft programer misli da ReactOS ne bi mogao bez pozajmljivanja Windows koda

Axel Rietschin, Microsoft inženjer za Windows kernel, doveden u pitanje mogućnost razvoja ReactOS operativnog sistema bez pozajmljivanja koda iz Windowsa. Prema njegovom mišljenju, programeri ReactOS-a su iskoristili kod iz jezgre Windows Research-a, čiji je izvorni kod licenciran za univerzitete. Ovaj kod je procurio na raznim mjestima, uključujući i GitHub.

Ritchen je siguran da je fizički nemoguće napisati ReactOS jezgro od nule kako je sada napisano, koristeći samo dostupnu javnu dokumentaciju. Konkretno, nazivi internih struktura i funkcija u ReactOS kernelu su isti kao oni u Windows Research kernelu, dok se ti nazivi ne izvoze tokom asemblera i ne sijaju nigde osim u originalnom kodu. Isto važi i za imena makroa i parametara, čija imena se ne mogu tačno reprodukovati bez uvida u originalni Windows kod.

Podsjetimo da je 2006. ReactOS imao otkriveno uključivanje oko 100 linija koda asemblerskog jezika kao rezultat dekompilacije Windowsa. Nakon toga, razvoj je obustavljen na oko mjesec dana kako bi se izvršila revizija mogućih raskrsnica. Od tada, programeri ReactOS-a s posebnim poštovanjem provjeravaju izvore predložene za uključivanje u projekat.

Prilikom obrnutog inženjeringa kako bi se uskladio sa američkim zakonom o autorskim pravima, ReactOS projekat koristi dvostruku šemu u kojoj jedan istraživač analizira rad i piše dokumentaciju na osnovu njega, a drugi programer gradi novu implementaciju za ReactOS na osnovu ove dokumentacije. Moguće je da je faza analize koristila Windows izvorni kod i dokumentovala ista imena funkcija i struktura, ali sa razvojnom šemom ReactOS-a implementacija će biti potpuno drugačija i kreirana od nule.

Osim toga, već to je bio činjenice nadzorne publikacije NT i W2K kernela sa neočišćenim informacijama za otklanjanje grešaka, uključujući informacije o imenima internih varijabli. Mnoga imena struktura i funkcija su takođe data u datotekama zaglavlja uključenim u SDK/DDK, a struktura sistemskih poziva može se odrediti raščlanjivanjem komponenti kao što je COM runtime. Ažuriranja hitnih popravki se često objavljuju bez čišćenja tablica simboličkih imena. Pored toga, neki programi i drajveri za Windows koriste nejavne, nedokumentovane pozive, a mnoge skrivene karakteristike Windows-a izlaze na videlo tokom prilagođavanja pokretanja u virtuelizacionim sistemima i emulatorima.

ReactOS programeri bi mogli koristiti ove komponente kao dio svog procesa obrnutog inženjeringa.

izvor: opennet.ru

Dodajte komentar