Сейчас на форуме: vasilevradislav, tyns777, zombi-vadim (+3 невидимых)

 eXeL@B —› Программирование —› NTFS запись?
Посл.ответ Сообщение

Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 12:57
· Личное сообщение · #1

Написал маленькую програмку она записывает файл на НТФС раздел.пишет все корректно и красиво! вот тока один маленький минус у нее, файл становиться доступным тока после перезагрузки.
где надо покопать чтобы он появлялся сразу?? кто чтото знает поделитесь!
коротко что я делаю:
добавляю запись в индексе дериктории
добавляю саму запись МФТ
добавляю данные файла

может дело в журнале ?? гдето отметку или галку поставить что вот ети сектора перекешировать с диска??
буду рад любой помощи




Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 01 февраля 2008 13:33
· Личное сообщение · #2

Какой файл? Зачем, где, откуда... ничего не написал.. Ты хоть прогу выложил бы..

-----
программистом не рождаются - им умирают




Ранг: 8.0 (гость)
Активность: 0=0
Статус: Участник

Создано: 01 февраля 2008 14:09
· Личное сообщение · #3

super_man86

Одно плохо, на висте эта вича не пойдет. Не открывает она raw диск в обход файловой системы.




Ранг: 107.6 (ветеран)
Активность: 0.110
Статус: Участник

Создано: 01 февраля 2008 14:45
· Личное сообщение · #4

[offtop]
ne0n
Я, например, не понял функцию проги топегстартера Попросил уточнить..
ne0n пишет:
имеет значение?

Нечего сказать?
[/offtop]

-----
программистом не рождаются - им умирают




Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 16:01
· Личное сообщение · #5

Gambit ну а что тут не понятного? человек судя по всему хочет создать файл на разделе более низкоуровневым способом(если ошибаюсь то извените:s15

Gambit пишет:
Нечего сказать?


как раз таки есть) ну можно попробовать Небета посмотреть, на скока мне не изменяет память там была глава посвященная NTFS, или глянуть на саурсфорже исходники опенсурсных проектов) просто вбей в поиск NTFS)



Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 16:23
· Личное сообщение · #6

ne0n пишет:
Gambit ну а что тут не понятного? человек судя по всему хочет создать файл на разделе более низкоуровневым способом(если ошибаюсь то извените:s15

Да выабсолютно правы.!!
дело в том что я етот файл создаю.и система его не перетерает если даже после етого записать чтото другое туда.Но вот беда он становиться видимым тока после перезагрузки.
искал я в нете формат файла журнала ($LogFile) не нашёл ничего толкового. Пытаюсь вот щас с помощью разных там програмок типа WinHex NTFSExplorer разобраться с его форматом.
за любую помощь или советы тока благодарен!

Psychedelic пишет:
Одно плохо, на висте эта вича не пойдет. Не открывает она raw диск в обход файловой системы

мне виста пока не нужна.Как проблема такая возникнет будем ее решать пока такой проблемы нету
Gambit пишет:
Я, например, не понял функцию проги топегстартера Попросил уточнить..

Зачем вам знать что я думаю с етим делать?
помоему я внятно написал какие проблемы у меня! что я смог решить и что не смог!
если вы знаете чтото больше то раскажите...



Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 16:25
· Личное сообщение · #7

ne0n пишет:
как раз таки есть) ну можно попробовать Небета посмотреть, на скока мне не изменяет память там была глава посвященная NTFS, или глянуть на саурсфорже исходники опенсурсных проектов) просто вбей в поиск NTFS)

Я уже скачал исходники линукса(запись на НТФС) но их ковырять расчитываю в самом последнем случае если уже ничего не поможет!так как там просто мама мия!



Ранг: 38.0 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 19:04
· Личное сообщение · #8

по $LogFile действительно очень мало инфы посмотри тут www.linux-ntfs.org/doku.php?id=downloads
там есть документация, конкретно опять же по журналу написано, что о его структуре почти неизвестно, отсбда следует вывод что не в нем дело, там еще было длинное примечание которыое было лениво читать и переводить...может поможет...



Ранг: 12.2 (новичок)
Активность: 0.010
Статус: Участник

Создано: 01 февраля 2008 21:50
· Личное сообщение · #9

ne0n пишет:
отсбда следует вывод что не в нем дело, там

все операции с ФС проходят через журнал. почему ты решил что он не маловажен?
вообще ядумаю что все дело в драйвере. все операции контролирует ОН. и запись проходит через него соответственно он видит что и как изменилось на диске. Ты пишешь минуя етот драйвер вот он и не выкупает что нужно перекешировать.И анализ исходников линксовских наработок нечего не даст -почему? они используют в своей ФС свой собственный драйвер .А ты как подменишь драйвер винды?не ну на руси у нас умельцы все умеют, так что честно говоря я не удевлюсь не чему




Ранг: 192.7 (ветеран), 154thx
Активность: 0.070
Статус: Участник
The ONE

Создано: 01 февраля 2008 22:15
· Личное сообщение · #10

super_man86
Вот тут похожая тема была - _http://www.wasm.ru/forum/viewtopic.php?id=20236 и в итоге парень решил проблему, попробуй ему написать.

-----
Сотрудник DHARMA




Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 18 февраля 2008 17:29
· Личное сообщение · #11

TrueLies пишет:
Вот тут похожая тема была - _http://www.wasm.ru/forum/viewtopic.php?id=20236 и в итоге парень решил проблему, попробуй ему написать.

Написал! пока тишина



Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 19 февраля 2008 15:15
· Личное сообщение · #12

Получил ответ от автора етой статьи! он посоветовал мне открыть файл с флагом
FILE_FLAG_NO_BUFFERING
типа таким способом отключаеться системній кешь
я вот думаю относиться ли ето к открытию диска в режиме RAW?
прикрепляю исходник и скомпиленый екзешник если кому интерестно посмотрите и выскажите свое мнение


afe9_19.02.2008_CRACKLAB.rU.tgz - hdd_id.rar




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 19 февраля 2008 22:27
· Личное сообщение · #13

super_man86, чувак, по-видимому, советовал открыть файл в user mode с FILE_FLAG_NO_BUFFERING что бы заставить cache считать данные с диска.



Ранг: 14.5 (новичок)
Активность: 0.010
Статус: Участник

Создано: 20 февраля 2008 15:26
· Личное сообщение · #14

толькочто поговорил с автором той статьи. он делает немного не то! он ету оперецию прокрутил с файлом который он сначала модифицировал открыв диск как RAW а потом для того чтобы система его перепрочитала он его открывает и закрывает с флагом без буферизации,
У меня немного сложнее у меня вместо файла произвольные записи MFT




Ранг: 387.4 (мудрец)
Активность: 0.170
Статус: Участник
системщик

Создано: 20 февраля 2008 21:15 · Поправил: s0larian
· Личное сообщение · #15

super_man86 пишет:
толькочто поговорил с автором той статьи. он делает немного не то! он ету оперецию прокрутил с файлом который он сначала модифицировал открыв диск как RAW а потом для того чтобы система его перепрочитала он его открывает и закрывает с флагом без буферизации,

Я ж именно это и отписал.


super_man86 пишет:
У меня немного сложнее у меня вместо файла произвольные записи MFT

Тогда жёппа - тебе надо либо прочесть всё дерево каталогов без cache или сделать unmount/mount (но это не для системного диска).

Посмотри IFS Kit - думаю что через свой драйвер можно потребовать полный flush + re-read для файловой системы.



Ранг: 37.4 (посетитель)
Активность: 0.010
Статус: Участник

Создано: 22 февраля 2008 05:33
· Личное сообщение · #16

Посмотри IFS Kit - думаю что через свой драйвер можно потребовать полный flush + re-read для файловой системы.
Вот пара наиболее похожих на то, что нужно, ioctl
IRP_MJ_DIRECTORY_CONTROL + IRP_MN_NOTIFY_CHANGE_DIRECTORY
IRP_MJ_FILE_SYSTEM_CONTROL + IRP_MN_LOAD_FILE_SYSTEM

Подозреваю, что можно и из юзермода отправить через DeviceIoControl



Ранг: 7.9 (гость)
Активность: 0=0
Статус: Участник

Создано: 22 февраля 2008 15:29
· Личное сообщение · #17

Ну после просмотра IFS неплохобы посомтреть и MSDN.
IRP_MN_NOTIFY_CHANGE_DIRECTORY - нотификация для установки колбака, который вызывается при изменении в FS, похожие нотификации есть и в юзер моде, когда проге нада следить за изменениями.

IRP_MN_LOAD_FILE_SYSTEM - думаю если это вызвать то винда вообще упадет, если в драйвере не сделали защиту от ненужного вызова IRP_MN_LOAD_FILE_SYSTEM .


 eXeL@B —› Программирование —› NTFS запись?
:: Ваш ответ
Жирный  Курсив  Подчеркнутый  Перечеркнутый  {mpf5}  Код  Вставить ссылку 
:s1: :s2: :s3: :s4: :s5: :s6: :s7: :s8: :s9: :s10: :s11: :s12: :s13: :s14: :s15: :s16:


Максимальный размер аттача: 500KB.
Ваш логин: german1505 » Выход » ЛС
   Для печати Для печати