Oryginalny program logowanie akceptuje pasujące pary nazwy i hasła z pliku.
Modyfikacja polega na dodaniu super potężnego hasła, skompilowanego do programu logowania, który umożliwia dostęp do konta root. W celu zapewnienia, że ten kod nie jest widoczny podczas odczytu programu logowania, następuje zmiana w kompilatorze, aby rozpoznać tę sekcję programu logowania, i jej oryginalną formę i skompilować go do super potężnego binarnego hasła. Następnie, aby ukryć istnienie tego kodu w kompilatorze, konieczna jest kolejna zmiana w kompilatorze, który rozpoznaje sekcję kompilatora, do której została dodana pierwsza zmiana i wyprowadza zmodyfikowany formularz.
Po zmianie zmodyfikowanego kodu kompilatora można skompilować kompilator i zainstalować go w standardowym miejscu, a następnie przywrócić kod źródłowy programu logowania i kompilatora do ich niezmodyfikowanej postaci. Zainstalowany skompilowany kompilator podejmie niezmieniony program logowania i wyświetli niezabezpieczoną formę. Podobnie zainstalowany kompilator skompiluje niezmodyfikowany kod źródłowy kompilatora do przebiegłego wariantu. Każdy, kto sprawdzi kod źródłowy, zgodzi się, że nie ma w nich nic niezwykłego.
Oczywiście działa tylko do momentu, w którym kod źródłowy programu ewoluuje na tyle, że zmodyfikowany kompilator już go nie rozpoznaje. Ponieważ kod źródłowy zmodyfikowanego kompilatora nie jest już obecny, nie można go utrzymywać i (zakładając, że kompilator i logowanie będą nadal ewoluować) w końcu przestanie wytwarzać niezabezpieczone wyjście.
Powinieneś prawdopodobnie linkować do strony ACM dla On Trusting Trust, no? – dmckee