Управление определенным битом на жестком диске

Недавно я начал изучать низкоуровневые манипуляции с битами.

http://bits.stephan-brumme.com/

и

http://graphics.stanford.edu/~seander/bithacks.html#CountBitsSetNaive< /а>

Я понимаю концепцию очистки/установки/переключения/проверки и т. д., немного в пределах целого числа или байта. (Получить определенный бит из байта)

Однако я не могу найти как изменить значение бита в определенном месте на моем жестком диске.

Я бы попытался сделать это в Ubuntu 14.04 LTS. Я лучше всего знаком с Python и C++, но я приму ответы на любом языке.


person Salvadorjer    schedule 14.06.2016    source источник
comment
Stack Overflow не является ни форумом, ни учебным пособием, ни службой написания кода, ни службой домашних заданий. Это сайт вопросов и ответов, на котором конкретные вопросы по программированию (обычно, но не всегда, включая некоторый код) получают конкретные ответы. Пройдите тур и внимательно прочитайте справочный центр чтобы узнать больше о сайте, в том числе что по теме и что не так и как задать хороший вопрос . Также следуйте списку вопросов.   -  person MattDMo    schedule 14.06.2016
comment
Когда вы говорите изменить немного в определенном месте (на) жестком диске, вы действительно имеете в виду где-нибудь на всем диске? Или вы могли бы иметь в виду в файле на жестком диске?   -  person wallyk    schedule 14.06.2016
comment
@wallyk, я действительно имею в виду где угодно. Идея заключается в том, чтобы перейти прямо к определенному фрагменту и изменить его, не взаимодействуя ни с чем другим.   -  person Salvadorjer    schedule 14.06.2016
comment
Вы понимаете, что это может быть опасно для вашей установленной файловой системы. Я имею в виду, что случайное изменение бита может привести к повреждению важного системного файла или структуры вашей файловой системы.   -  person drescherjm    schedule 14.06.2016
comment
@drescherjm Да, это часть того, что я собираюсь сделать. Это будет на дополнительном жестком диске, а не на основном, содержащем программу или ОС.   -  person Salvadorjer    schedule 14.06.2016


Ответы (1)


Это будет выглядеть так:

  • Откройте диск для чтения/записи от имени пользователя root. (пример: /dev/sda)
  • Mmap диска (или вы можете искать и читать/записывать)
  • найдите байт, измените нужные биты, сбросьте и отключите отображение (или закройте).

Кто-то другой, вероятно, предоставит кодовую версию этого.

person OneOfOne    schedule 14.06.2016