Вопрос: Как программно получить доступ к физ. сектору HDD?

Discussion in 'С/С++, C#, Rust, Swift, Go, Java, Perl, Ruby' started by raven1992, 18 Mar 2012.

  1. raven1992

    raven1992 New Member

    Joined:
    6 Oct 2011
    Messages:
    56
    Likes Received:
    3
    Reputations:
    0
    не стал писать этот вопрос в прикреплённую, потому что он не имеет отношения к новичкам.

    Ситуация:
    Я хочу записать слово fuck в конкретный сектор одного из своих HDD. Сектор находится либо в размеченной области, либо в не размеченной.

    ОС windows xp, права system или admin. При необходимости могу запуститься в контексте нужного системного процесса.
    Жёсткий диск, на который я хочу произвести запись -
    либо тот же самый, с которого запущена ОС, либо другой (с которого ничего не запущено, например чистый и свежеотформатированный, подключенный к системе)
    Физического доступа к машине (допустим) нет.

    Просьба:
    Проконсультировать, каким образом осуществить задуманное из-под OS Windows XP.
    Существуют ли winapi функции или готовые функции на асме.


    заранее спасибо:)


    ps "цель" вопроса - любопытство. Никакого конкретного ТЗ, выходящиго за пределы описанного - нет.
     
    #1 raven1992, 18 Mar 2012
    Last edited: 18 Mar 2012
  2. Kaimi

    Kaimi Well-Known Member

    Joined:
    23 Aug 2007
    Messages:
    1,732
    Likes Received:
    809
    Reputations:
    231
    http://support.microsoft.com/kb/100027
    http://support.microsoft.com/kb/q138434/
     
    _________________________
  3. realcoder

    realcoder Member

    Joined:
    9 Dec 2010
    Messages:
    226
    Likes Received:
    11
    Reputations:
    4
    на асме существует прерывание Int 13h
    в винде - вызов этого прерывания через deviceiocontrol или открытия диска как файла
    \\.\PhysicalDriveN где N- номер диска
     
  4. raven1992

    raven1992 New Member

    Joined:
    6 Oct 2011
    Messages:
    56
    Likes Received:
    3
    Reputations:
    0
    не погуглил, когда спрашивал :-( Думал всё сложнее.

    На винграде оказывается поднимали такую тему
    http://forum.vingrad.ru/forum/topic-53996/anchor-entry458048/0.html

    А Крис Касперски написал по raw работе с компакт-дисками не то что статью, а целое исследование
    http://www.insidepro.com/kk/020/020r.shtml

    Осталось разобраться со считыванием физических адресов файлов и написать годные обёртки для api ф-ций.

    Если у кого-то есть готовые функции или сурсы, ориентированные на работу с HDD а не с CD\DVD - буду благодарен.

    Ps.
    да, Kaimi, realcoder - всё так, спс) Не ожидал что найти информацию по этому вопросу окажется так просто. Осталось правильно эту теорию закодить)
     
    #4 raven1992, 18 Mar 2012
    Last edited: 18 Mar 2012
  5. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    http://wasm.ru/article.php?article=lockfileswork -- крути вниз до Чтение файла с помощью прямого доступа к диску.

    И помни про статью 273 УК РФ
     
    _________________________
  6. raven1992

    raven1992 New Member

    Joined:
    6 Oct 2011
    Messages:
    56
    Likes Received:
    3
    Reputations:
    0
    спс!

    отличная статья, жаль лишь что после получения адреса кластеров описанным методом в нтфс, как я понимаю, останется отметка о времени доступа к файлу. Метка эта правда, по-моему хранится в файловом потоке и её можно поправить. Но в каких ещё логах останется событие я не знаю.
    Тем не менее, если единственная альтернатива - написать свой собственный драйвер для NTFS, то выбор не велик. Разве что в исключительных случаях, если требуется что-нибудь пропатчить с особым цинизмом - можно не спеша читать всё содержимое диска до нахождения нужного, заранее известного фрагмента, а затем патчить это место не имея хендла файла.

    благодарю всех откликнувшихся) подумать не мог что всё так просто...
    а законы.. да, законы нужно знать.
    "Незнание закона не освобождает от ответственности. А вот знание..." :)
     
    #6 raven1992, 19 Mar 2012
    Last edited: 19 Mar 2012
  7. Gar|k

    Gar|k Moderator

    Joined:
    20 Mar 2009
    Messages:
    1,166
    Likes Received:
    266
    Reputations:
    82
    Под NTFS, много копает amdf - почитай http://hex.pp.ua/ntfs.php
     
    _________________________
  8. raven1992

    raven1992 New Member

    Joined:
    6 Oct 2011
    Messages:
    56
    Likes Received:
    3
    Reputations:
    0
    искренне благодарю, Gar|k