Можно ли читать / выполнять файлы / программы, используя адресацию LBA, а не расположение файловой системы
Вы можете считывать и хранить данные во втором файле (на основе оперативной памяти, если вы используете tmpfs
) по одному LBA за раз, включать биты выполнения и выполнять то, что вы сохранили.
dd
не далеко от него, hdparm
и с ним будет немного легче работать, и вы практически делаете то же самое, если используете его dd
на необработанных блочных устройствах, таких как /dev/sda
и т. д.
Например, я могу выполнить / bin / sh, используя расположение сектора LBA, полученное с использованием hdparm?
Вы должны будете сделать то же самое, что и основная файловая система. Для ext2 / 3/4 это означает анализ таблиц разделов, поиск суперблока, поиск по таблицам inode и т. Д.
Это обычно не тривиально. Вы должны точно знать, что делает файловая система и как она работает. Есть исходный код для Ext2 / 3/4, который вы можете изучить, или любое количество текстов на эту тему. Для NTFS есть много подобной информации, предоставленной Microsoft и обнаруженной с помощью реверс-инжиниринга.
Если вы ищете «простую для взлома» файловую систему, попробуйте FAT (не FAT32). Он очень старый и в результате очень хорошо задокументирован.