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