информационная безопасность
без паники и всерьез
 подробно о проектеRambler's Top100
Все любят медАтака на InternetЗа кого нас держат?
BugTraq.Ru
Русский BugTraq
 Анализ криптографических сетевых... 
 Модель надежности двухузлового... 
 Специальные марковские модели надежности... 
 Microsoft обещает радикально усилить... 
 Ядро Linux избавляется от российских... 
 20 лет Ubuntu 
главная обзор RSN блог библиотека закон бред форум dnet о проекте
bugtraq.ru / форум / sysadmin
Имя Пароль
ФОРУМ
если вы видите этот текст, отключите в настройках форума использование JavaScript
регистрация





Легенда:
  новое сообщение
  закрытая нитка
  новое сообщение
  в закрытой нитке
  старое сообщение
  • Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
  • Новичкам также крайне полезно ознакомиться с данным документом.
Все гораздо хитрее 20.11.03 17:14  Число просмотров: 2017
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 20.11.03 17:15  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)?
Два смещения наверное потому, что эта информация хранится не в одной структуре, а в одном из аттрибутов (каждый из которых описывается структурой) собранных в массив. Чтобы представить что это такое - вспомни как возвращает данные NtQuerySystemInformation. То что данный аттрибут чаще всего лежит по одному и тому же смещению вовсе не означает, что он не может лежать где угодно еще. То бишь хоть ФС и создается всегда одной и той же программой при одних и тех же начальных условиях (форматирование чистого раздела), это еще не значит, что ее нельзя создать иначе.

Описывать как именно оно валяется не буду - слишком много и возможно излишне для решения данной конкретной проблемы (этот аттрибут скорее всего лежит там, где и было указано). Если интересно - могу скинуть на мыло доку.

> Хочу прогу написать... Как открыть файл #3 на $VOLUME,
> расскажите, плз.
Файл #3 это третья по счету запись в MFT (первые 16 записей - специальные и всегда жестко заданы), как уже указано, называется этот спецфайл $Volume, но наверное так было написано для вящей мудрости, потому как простому смертному открыть этот файл очень трудно, а там всего лишь содержится том. На самом деле, чтоб открыть том, нужно просто сделать CreateFile("\\\\.\\C:", ...) для диска C и т.д. по аналогии.

Успехов в бою. Не забудь снять образ :-)
<sysadmin>
NTFS проблема — лучшее враг хорошего ;-) 20.11.03 10:32  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Возникла проблема: крякнула система NT4 — затёрли ntldr ;-)
Подняли на XP. XP взяла и при подключении этого раздела быстренько "заапгрейдила" его до NTFSv5. И всё бы хорошо, только теперь на NT4 при попытке выполнить «chkdsk c: /f» выдаёт ошибку типа «этот том создан более поздней версией виндоус, вот её и используйте для проверки этого тома» ;-)

Как пролечить это дело, есть у кого какие идеи?
Я знаю, что всё различие в каких-то скрытых служебных файлов NTFS, но ни как к ним достучаться, ни что с ними делать, представления не имею.
А какой SP у NT твоей? 08.05.04 17:56  
Автор: tduty Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
NT4 SP6. Закрываю тему — если кому надо чего, пишите в приват. 10.05.04 11:43  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 10.05.04 11:45  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
Проблема решена... Написал тулзу на досуге. Спасибо всем за поддержку ;-) Тулза лежит по линку (внутри). Используется на свой страх и риск, но должна вести себя корректно... Позволяет установить _любой_ номер версии NTFS для существующего NTFS-раздела ;-) 05.05.04 19:24  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 10.05.04 11:50  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>


NTFS Patcher (178633 байт rar-архив)
NTFS проблема — лучшее враг хорошего ;-) 28.11.03 22:16  
Автор: Karen Parsadanian Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
> Возникла проблема: крякнула система NT4 — затёрли ntldr ;-)
> Подняли на XP. XP взяла и при подключении этого раздела
> быстренько "заапгрейдила" его до NTFSv5. И всё бы хорошо,
> только теперь на NT4 при попытке выполнить «chkdsk c: /f»
> выдаёт ошибку типа «этот том создан более поздней версией
> виндоус, вот её и используйте для проверки этого тома» ;-)
>
> Как пролечить это дело, есть у кого какие идеи?
> Я знаю, что всё различие в каких-то скрытых служебных
> файлов NTFS, но ни как к ним достучаться, ни что с ними
> делать, представления не имею.


Надо заранее ставить Acronis OS Selector 8.0
даже при затертом NTDLR Восстановит любую NT начиная с 4.0 и кончая "2003".

У Acronis OS Selector есть одна мелкая неприятность 29.11.03 01:05  
Автор: Ktirf <Æ Rusakov> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Он принципиально хочет иметь на диске FAT-раздел. Я не понимаю, зачем держать целый раздел под мультзагрузчик, особенно когда на диске ровно одна ОС.
Paragon Partition Manager умеет править версию NTFS 27.11.03 17:36  
Автор: AlexD <Alexander> Статус: Member
<"чистая" ссылка> <обсуждение закрыто>
http://www.paragon.ru/pm/rus/

Сайт проги
Вот нарыл — сейчас буду пробовать... Гуру по NTFS объясните, плз... (внутри) 20.11.03 15:59  
Автор: HandleX <Александр М.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
ПРАВКА ВЕРСИИ НТФС5 на НТФС4

С помощью DiskProbe из ResourceKit
>>>
В системном файле #3 $VOLUME со смещением 0x130 (или 0х1C0 !!!)
находится номеp веpсии NTFS. (убрать предварительно метки дисков !!!)
W2K пpи обpащении к диску пpисваивает номеp 3.0,
NT4 pаботает с веpсией 1.2.
Находишь 0x03, испpавляешь на 0x01,
следующий байт с 0x00 на 0x02. После
этого запускаешь CHKDSK, следишь за тем,
как он отшибает новые атpибуты (типа дисковых квот и пp.).
После этого - пользуешься...

---

Но есть вопросы! Почему два смещения (0x130 и 0х1C0)?
Хочу прогу написать... Как открыть файл #3 на $VOLUME, расскажите, плз.

Взято отсюда
Вот нарыл — сейчас буду пробовать... Гуру по NTFS объясните, плз... (внутри) 20.11.03 17:57  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)?

Не знаю.

> Хочу прогу написать... Как открыть файл #3 на $VOLUME,
> расскажите, плз.

CreateFile("C:\$VOLUME",...) наверное?
Не прокатит. Это спецфайл и у него пермишены только для системы и все такое 20.11.03 17:59  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
а под линухом с включенной записью на нтфс? 21.11.03 01:17  
Автор: Killer{R} <Dmitry> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Линух пятую нтфс тоже не любит :-) 21.11.03 02:25  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Я видимо тоже туманно выразился.

Точно того же эффекта, что и открытие спецфайла $Volume можно добиться открымши УСТРОЙСТВО "\\\\.\\C:" - тот же самый Raw-доступ к разделу. Предлагаю сначала глянуть по приведенным смещениям, а потом, если не поможет - будем посмотреть :-)
Читаться он читается 20.11.03 19:26  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
Пока ругается на Sharing Violation 20.11.03 19:47  
Автор: NKritsky <Nickolay A. Kritsky> Статус: Elderman
<"чистая" ссылка> <обсуждение закрыто>
при попытке открыть с правами GENERIC_READ | GENERIC_WRITE
Этого следовало ожидать :-) 21.11.03 02:33  
Автор: amirul <Serge> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
> при попытке открыть с правами GENERIC_READ | GENERIC_WRITE
Там как-то можно вроде включить доступ для простых смертных, но я особо не ковырялся - легче устройство открыть, "если нет разницы, зачем платить больше?" :-) (с)
Diskedit.exe 21.11.03 12:21  
Автор: Den <Денис Т.> Статус: The Elderman
<"чистая" ссылка> <обсуждение закрыто>
Все гораздо хитрее 20.11.03 17:14  
Автор: amirul <Serge> Статус: The Elderman
Отредактировано 20.11.03 17:15  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
> Но есть вопросы! Почему два смещения (0x130 и 0х1C0)?
Два смещения наверное потому, что эта информация хранится не в одной структуре, а в одном из аттрибутов (каждый из которых описывается структурой) собранных в массив. Чтобы представить что это такое - вспомни как возвращает данные NtQuerySystemInformation. То что данный аттрибут чаще всего лежит по одному и тому же смещению вовсе не означает, что он не может лежать где угодно еще. То бишь хоть ФС и создается всегда одной и той же программой при одних и тех же начальных условиях (форматирование чистого раздела), это еще не значит, что ее нельзя создать иначе.

Описывать как именно оно валяется не буду - слишком много и возможно излишне для решения данной конкретной проблемы (этот аттрибут скорее всего лежит там, где и было указано). Если интересно - могу скинуть на мыло доку.

> Хочу прогу написать... Как открыть файл #3 на $VOLUME,
> расскажите, плз.
Файл #3 это третья по счету запись в MFT (первые 16 записей - специальные и всегда жестко заданы), как уже указано, называется этот спецфайл $Volume, но наверное так было написано для вящей мудрости, потому как простому смертному открыть этот файл очень трудно, а там всего лишь содержится том. На самом деле, чтоб открыть том, нужно просто сделать CreateFile("\\\\.\\C:", ...) для диска C и т.д. по аналогии.

Успехов в бою. Не забудь снять образ :-)
А как «ходить» по записям MFT? 21.11.03 08:40  
Автор: HandleX <Александр М.> Статус: The Elderman
Отредактировано 21.11.03 08:41  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
> Файл #3 это третья по счету запись в MFT (первые 16 записей
> - специальные и всегда жестко заданы), как уже указано,
> называется этот спецфайл $Volume, но наверное так было
> написано для вящей мудрости, потому как простому смертному
> открыть этот файл очень трудно, а там всего лишь содержится
> том. На самом деле, чтоб открыть том, нужно просто сделать
> CreateFile("\\\\.\\C:", ...) для диска C и т.д. по
> аналогии.

Насколько я понял, нужно:
1) CreateFile("\\\\.\\C:", ...).
Тут вопрос: остальные параметры какие должны быть?
Полученный хендл используется в ReadFile\WriteFile или в DeviceIOControl?
Если в DeviceIOControl, то какие должны быть Control Codes для чтения-записи?
2) сперва нужно открыть #1 запись (прочитать n-е кол-во байт)...
3) из этой записи извлечь размер MFT и «перейти» на #3...
4) сделать далее по алгоритму неизвестного дядьки, проконтролировав валидность версий NTFS по одному из смещений...

Вроде так?
А как «ходить» по записям MFT? 29.11.03 11:33  
Автор: vladig Статус: Незарегистрированный пользователь
<"чистая" ссылка> <обсуждение закрыто>
А не проще ли взять Runtime's DiskExplorer for NTFS?

Он нормально правит и MFT, и атрибуты файлов. Правда, из-за того, что MS не документировала структуру NTFS, многие атрибуты файлов представлены только своими кодами, но разобраться/догадаться можно.
перепиши chkdsk от xp и не мучайся 20.11.03 11:56  
Автор: Cyril <sc> Статус: Member
Отредактировано 20.11.03 12:00  Количество правок: 1
<"чистая" ссылка> <обсуждение закрыто>
сам так ни разу не делал, но наверняка можно переконвертить ntfs5 -> fat32
-> ntfs4
1  |  2 >>  »  




Rambler's Top100
Рейтинг@Mail.ru


  Copyright © 2001-2024 Dmitry Leonov   Page build time: 0 s   Design: Vadim Derkach