Форум программистов, компьютерный форум, киберфорум
Программирование драйверов
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.75/4: Рейтинг темы: голосов - 4, средняя оценка - 4.75
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106

Изменение размера файла при чтении

09.10.2014, 15:16. Показов 841. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть ли такая возможность в режиме ядра, что бы при обработки IRP_MJ_READ пакета, т.е. при чтении файла "сказать" системе, что размер файла, например, не 64 байта, а 55 байт. И все последующие операции будут с 55 байтами.
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
09.10.2014, 15:16
Ответы с готовыми решениями:

Изменение размера файла, отображенного в памяти (mapped file)
Стандартный подход при изменении размера mapped file подразумевает использование дискриптора файла. То есть уменьшение и увеличение размера...

Определение размера массива при чтении из файла
Здравствуйте! В основном,когда я сталкивался с чтением двумерного массива из файла .txt мне либо был известен размер заранее, либо размер...

Изменение кодировки текста при чтении/записи файла txt
Здравствуйте! Код ниже изменяет файл (отбрасывает последний знак в файле "переноса строки" если таковой имеется), но при изменении...

5
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
09.10.2014, 22:15
В IRP_MJ_READ вряд ли, там же нет никакой информации о том,
какого размера файл и сколько из него еще можно прочесть.
Если и делать такое, то во всяких ZwQueryInformationFile и т.п.
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
10.10.2014, 18:42  [ТС]
Я использую драйвер доя шифрования.
Сейчас у меня файлы шифруется AES алгоритмом, т.е. поблочно шифруется все содержимое этого файла. Блок 16 байт.
Берем, например файл размером 55 байт и шифруем его. В итоге получится файл размером 64 байта. Файл сохранился на диске и все ок.
При считывании с использованием такого драйвера происходит так, что сначала выделяется подменяемый буфер размером равным 64 байта. Просто выделился и лежит пустой в памяти. Далее этот буфер заполняется расшифрованными данными, что в итоге составляют 55 байт. Открыв этот текстовый файл, я вижу расшифованный текст в конце которого 9 нолей, пробелов или еще какого-то мусора.
9 символов мне нужно как-то отсечь.
Расчитать наперед размер расшифрованого файла не получится. Думал при обработке IRP_MJ_READ есть поле в какой-то структуре, где должно хранится число с реальным количеством байт, но я не найду его.
Как быть? Буду благодарен за любой совет
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
11.10.2014, 00:40
Думаю, единственный реальный вариант - модифицировать шифрование так,
чтобы размер файла не менялся. Изменение размера файла в FS-фильтре -
одна из "страшилок", которую стоит по возможности избегать. Потому что она
сильно все усложняет и создает предпосылки для возникновения различных
побочных эффектов.
1
0 / 0 / 0
Регистрация: 28.02.2013
Сообщений: 106
13.10.2014, 20:15  [ТС]
Я не босюь уже "страшилок"

Если будет время, можешь, пожалуйста, описать как такое сделать в FS-фильтре.
0
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
13.10.2014, 22:02
Эта тема больше относится к прикладной приптографии, чем к FS-фильтрам.
Почему бы, например, не шифровать весь файл AES-ом, а последний блок,
если он не кратен 128 битам, шифровать чем-нибудь другим ?
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
13.10.2014, 22:02
Помогаю со студенческими работами здесь

Qt. Изменение порядка байт в массиве (или при чтении из файла)
Здравствуйте. Посоветуйте, пожалуйста, метод решения следующей проблемы : Имеется большой массив (4612х2080) 16-битных данных в...

"Нарушение прав доступа при чтении по адресу" при чтении структур из бинарного файла
Пытаюсь разобраться со структурами в бинарных файлах. Допустим, есть массив структур. Записываю его в бинарный файл (закомментированный...

Изменение размера обьектов при изменении размера графического окна
Можно ли в pascalABC.net сделать следующее: чтобы приизменении размера графического окна изменялись и размеры обьектов.Зарание спасибо:-|

Qml изменение размера Canvas при изменении размера окна
Может есть какой нибудь способ, чтобы при изменении размера окна (в моем случае window) изменялся размер рисунка Canvas (увеличивался или...

Изменение размера UserControl при изменении размера элемента на нем
Здравствуйте. У меня на UserControl находится TextBox. Выполняю построение. В конструкторе переношу мой UserControl на форму. Меняю в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru