Вимоги: Сьогодні я переглядав статтю, написану колегою, згідно з «C# отримує розширення зображень на основі перших двох байтів», а також дізнався про ідентифікацію форматів файлів за допомогою TrID.
По-перше, формат файлу отримується шляхом зчитування перших 2 байтів заголовка файлу (Насправді, заголовку файлу не можна повністю довіряти, адже документ можна підробити за власним бажанням), як показано нижче:
TrID — це утиліта, розроблена для ідентифікації типів файлів на основі бінарних підписів. Хоча існують подібні жорстко закодовані логічні утиліти, у TrID немає фіксованих правил. Натомість він масштабований і може бути навчений розпізнавати нові формати швидко та автоматизовано. Переглянути URL-адреси типів файлів:Вхід за гіперпосиланням видно.
Або візьмемо, наприклад, тип jpg, спробуйте прочитати локальний скріншот QQ, Header Hexdump (Вхід за гіперпосиланням видно.Як показано на рисунку нижче:
Протестуйте інший файл типу exe, як показано нижче:
Код виглядає так:
Метод читання заголовка файлу дозволяє легко відфільтрувати, чи відповідає тип файлу, який користувач надає, вимогамНаприклад, дозволено завантажувати лише документи Word, а інші можуть змінити формат файлу .txt на .docx формат і завантажити його для перевірки???
(Кінець)
|