как я могу получить исходный тип файла после модификации пользователем с использованием заголовка PE в устаревшем драйвере

#c #c #driver #portable-executable

#c #c #драйвер #портативный-исполняемый

Вопрос:

Я разработал устаревший драйвер, разрешающий и блокирующий передачу определенных файлов с жесткого диска на внешние устройства. Это работает нормально.

Проблема, с которой я сталкиваюсь, заключается в том, что здесь пользователь может изменять имя файла и тип файла.

Как я могу найти исходный тип файла и имя файла, измененные пользователем?

Возможно ли найти исходный тип файла с помощью заголовка portable executable?

(Тип файлов, например .pdf,.txt)

Во время моего исследования я обнаружил, что они могут найти исходный тип файла.Как они находят исходный тип файла. Аналогично было сделано » http://checkfiletype.com /«

Заранее спасибо. Можете ли вы предоставить какое-либо решение для этого.

Комментарии:

1. Какие файлы вы хотите заблокировать? Возможно ли определить их по содержимому файла, а не по имени и расширению файла?

2. Все это зависит от типа файла. Некоторые файлы имеют фиксированную строку заголовка, другие имеют нижний колонтитул. Но независимо от этого, если вы беспокоитесь о переименовании, что дальше? Проверка всех сжатых архивов? Что, если пользователь зашифрует файл, а затем скопирует его?

3. Такие службы, как checkfiletype.com ‘ы и команды, такие как Unix file , определяют типы файлов путем изучения содержимого файла и применения ряда правил. В основном, они ищут характерные шаблоны байтов. Они более надежны для некоторых типов файлов, чем для других, но не на 100% надежны для любого типа файлов. Они могут рассматривать имя файла как запасной вариант, но это ненадежный показатель, и эти программы знают это.

4. Я хочу заблокировать и разрешить определенный тип файлов, например .pdf,.txt,

5. Каковы ваши первоначальные требования? Добавление к комментарию Питерта: Есть способы скрыть данные, например, .png которые содержат .zip файл в сочетании с зашифрованным .zip .

Ответ №1:

У этой игры было название.

Название игры — «выигрывает последний, кто делает ход»

Я с удовольствием отфильтрую файлы, кодируя их в base85 и отбрасывая как содержимое в разрешенном типе.

Ваши пользователи, без сомнения, придумают другие хитрые способы.

Теперь, если бы вы делали это для борьбы с вирусами, я бы сказал, просто изучите содержимое файла и, если оно выглядит как исполняемый файл, скажите «нет». Первые два символа исполняемого файла всегда MZ.