finish article type-pred

This commit is contained in:
Basyrov Rustam
2025-05-30 15:44:35 +03:00
parent 96910eea02
commit 457a1d397b

View File

@@ -72,13 +72,13 @@ NumPy.
## Чтение файлов в память ## Чтение файлов в память
Для чтения файла в память, я написал модуль на Си, доступный Для чтения файла в память, был написан модуль на Си, доступный
репозитории[2]. Здесь кратко опишу, как он работает. репозитории[2]. Здесь кратко опишу, как он работает.
В нем реализована функция `signature_from_filepath_by2`, которая В нем реализована функция `signature_from_filepath_by2`, которая
получает на вход два параметра: имя файла и уровень `verbose`. `by_2` получает на вход два параметра: имя файла и уровень `verbose`. `by_2`
в названии обусловлено тем, что работа не с матрицами, а `n`-мерными в названии обусловлено тем, что работа не с матрицами, а `n`-мерными
eтензорами улучшает качество предсказания. тензорами улучшает качество предсказания.
Функция `read_file` считывает файл в структуру `raw_data`, которая Функция `read_file` считывает файл в структуру `raw_data`, которая
представляет собой просто последовательность байтов и размер этой представляет собой просто последовательность байтов и размер этой
@@ -149,11 +149,17 @@ optimizer = t.optim.SGD(model.parameters(), lr=1e-3)
## Выводы ## Выводы
По итогу, можно сказать, что в некоторых случаях, *сигнатура* файла По итогу, можно сказать, что в некоторых случаях, *сигнатура* файла
является неплохим предиктором его типа. Гипотетически, это можно является неплохим предиктором его типа.
использовать для того, чтобы восстанавливать частично испорченные
файлы, так сигнатура может сохраниться. Гипотетически, это можно использовать для следующих идей:
1. Восстановление частично поврежденных файлов, так как можно попытаться
угадать его структуру и восстановить её.
2. Определение исполняемых файлов при анализе вредоносного ПО.
3. Обнаружение скрытых данных (когда сигнатура файла и его тип не
соответствуют друг другу).
## Источники ## Источники
1. [https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format](https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format) 1. [Википедия про ELF-формат](https://ru.wikipedia.org/wiki/Executable_and_Linkable_Format)
2. [https://github.com/rustbas/filetype-prediction](https://github.com/rustbas/filetype-prediction) 2. [Репозиторий проекта](https://github.com/rustbas/filetype-prediction)