Почему код ядра изменяется при загрузке? Изменяются ли адреса указателей при загрузке? - PullRequest
0 голосов
/ 30 января 2020

Я взял код ядра из памяти и файл zmlinuz (vmlinuz) с диска. Я распаковал файл vmlinuz в файл elf и сравнил разделы кода памяти и файлов на диске. Я обнаружил, что код в памяти немного изменился. Изменения между кодом в памяти и кодом на диске были указателями на строки. Это изменение показано на следующем изображении в красном квадрате:

enter image description here

Значение «02 82» изменено на «62 a8».

Исправлено смещение всех изменений кода (0x6026). Я пытаюсь выяснить, почему происходят изменения? Есть ли в файле эльфа отображение для всех мест, которые сделали это изменение? Как загрузчик ядра знает, где можно изменить адрес?

Спасибо

...