Źródło: Arkusze CKE
Na czym polega dekompilacja kodu i jakie są jej ograniczenia w kontekście odzyskiwania oryginalnego kodu źródłowego?
Warianty odpowiedzi
-
A
Dekompilacja zawsze pozwala odzyskać oryginalny kod źródłowy bez żadnych strat.
-
B
Dekompilacja jest niemożliwa, ponieważ kod binarny nie może być przekształcony w czytelny kod źródłowy.
-
C
Dekompilacja to proces przekształcania kodu binarnego z powrotem na kod źródłowy, ale często nie daje dokładnego odwzorowania oryginalnego kodu.
-
D
Dekompilacja działa tylko w przypadku języków interpretowanych, a nie skompilowanych.
Wyjaśnienie
Dekompilacja to proces odwracania kompilacji. Próbuje przekształcić skompilowany kod maszynowy lub bajtowy z powrotem na język wyższego poziomu, który może przeczytać człowiek.
Nie jest to jednak proces idealny. W trakcie kompilacji bezpowrotnie przepadają komentarze napisane przez programistę oraz oryginalne nazwy zmiennych czy funkcji, które są zastępowane ogólnymi ciągami znaków.
W efekcie otrzymujemy kod działający logicznie tak samo, ale bardzo trudny do odczytania i daleki od przejrzystości oryginalnego kodu źródłowego.