Жил-был один иностранный разработчик. И написал он модуль по работе с сетью для Американской ОС. Очень этот модуль приглянулся КГБ. Они похитили американца, но разговорить не успели - выпил капсулу с Новичком. И где исходники лежат, узнать теперь не получится. Казалось бы - да фиг то с ним, нужное ядро подобрать не проблема, но только отбрасывает оно систему в прошлое. И прибивает к нему гвоздями.
Попробовали доблестные разведчики modprobe –force, но на поверку оказалось что он делает обычный insmod. А тот ключа force не знает. И вместо ошибки «Invalid module format» выдаёт «Exec format error». Яндексение выдало что существуют какие-то таблицы символов, в которых прописаны адреса входа в функции ядра, и ежели не совпадут они с модулевскими, наступит хаос и враги победят. Однако есть шанс, что адреса-таки совпадут, либо поправить их можно hex-редактором, вместе с контрольными суммами, если это потребуется. Но модуль нужно любой ценой вгрузить в пространство ядерное, хоть с перфокарт, хоть пересборкой insmod-a, хоть правкой vermagic. Если не получится - то весь отдел расстреляют из пулемёта.
Для простоты, версия ядра отличается 3й цифрой и далеко не убежала. Как такое реализовать?









 , ,






URL записи