Ответ 1
Оригинальная программа входа в систему принимает совпадающие пары имени и пароля из файла.
Модификация заключается в добавлении супермощного пароля, скомпилированного в программу входа в систему, что позволяет получить доступ root. Чтобы убедиться, что этот код не отображается при чтении программы входа в систему, есть изменение в компиляторе, чтобы распознать этот раздел программы входа в систему, его исходную форму и скомпилировать в супермощный двоичный пароль. Затем, чтобы скрыть существование этого кода в компиляторе, должно произойти другое изменение в компиляторе, который распознает раздел компилятора, что первое изменение было добавлено и вывело измененную форму.
Как только измененный код компилятора существует, вы можете скомпилировать компилятор и установить его в стандартном месте, а затем вернуть исходный код как для программы входа, так и для компилятора в свою немодифицированную форму. Затем установленный компилируемый компилятор принимает неизменную логинную программу и выводит небезопасную форму. Аналогично, установленный компилятор будет компилировать исходный код немодифицированного компилятора в коварный вариант. Любой, кто проверяет исходный код для одного, согласен с тем, что в них нет ничего необычного.
Конечно, он работает только до тех пор, пока исходный код для любой программы не будет развиваться настолько далеко, что модифицированный компилятор больше не узнает об этом. Поскольку измененный исходный код компилятора больше не присутствует, его нельзя поддерживать, и (если предположить, что компилятор и логин продолжают развиваться), он в конечном итоге прекратит выдавать небезопасный вывод.