Я сделал это сам на Mac, см. Мой инструмент для редактирования диска: http://apps.tempel.org/iBored
Вы бы открыли диск с помощью / dev / diskN или / dev / rdiskN (N - номер индекса диска, начинающийся с 0). Затем вы можете использовать lseek (обязательно используйте версию с 64-битным диапазоном!) И читать / записывать вызовы для открытого файла.
Также, используйте команду оболочки "ls / dev / disk *", чтобы увидеть, какие диски существуют в настоящее время. И обратите внимание, что диски также существуют с расширением «sM», где M - номер раздела. Таким образом, можно также читать разделы напрямую.
Или вы можете просто использовать инструмент оболочки "xxd" или "dd" для чтения данных и затем использовать их вывод. Может быть проще.
Вы не сможете прочитать ваш корневой диск и другие внутренние диски, пока вы не запустите его как root. Вы можете получить доступ к другим дискам, если они были смонтированы пользователем, или их разрешения отключены. Но вам также может понадобиться сначала отключить тома диска. Найдите команду unmount в команде оболочки "diskutil".
Надеюсь, это поможет.
Обновление 2017: в OS X 10.11 и более поздних версиях SIP может также препятствовать прямому доступу к секторам диска.