Алгоритм відновлення даних по файловим «сигнатурам»

Пошук по сигнатурам – один з найважливіших алгоритмів, що робить сучасні програми з відновлення інформації тим, чим вони є: універсальними інструментами, здатними витягнути файли з відформатованих, пошкоджених і недоступних дисків.

Алгоритм відновлення даних по файловим «сигнатурам»

У тих, хто прочитав раніше опубліковану статтю «Як Windows видаляє файли і чому їх можна відновити», справедливо виникає питання, як саме функціонують дані програми при пошкодженні або відсутності файлової системи. Насправді, класичні інструменти з відновлення даних працюють з інформацією про файли, отриманою з файлової системи. Відповідно, якщо запису про файл в файловій системі не виявлено, класичні інструменти (такі, як команда «undelete», з ранніх версій операційних систем) не зможуть навіть виявити видалену інформацію.

Перейти до перегляду
Восстановление данных после переустановки или сброса Windows к исходному состоянию ⚕️💽💻

Восстановление данных после переустановки или сброса Windows к исходному состоянию ⚕️💽💻

Cигнатурний пошук

Пошук по сигнатурам дозволяє відновити файли після форматування диска або видалення логічних розділів. Для технології існує безліч комерційних назв: «Power Search», «Content-Aware Analysis», «Smart Scan» – всі ці технології від різних виробників працюють по одному і тому ж принципу.

Як працює пошук по сигнатурам

Визначення файлів

Основний принцип роботи алгоритмів сигнатурного пошуку такий же, як і в найперших антивірусів. Як антивірус сканує файл у пошуках ділянок даних, що збігаються з відомими фрагментами коду вірусів, так і алгоритми сигнатурного пошуку, які використовуються в програмах для відновлення даних, зчитують інформацію з поверхні диска з надією зустріти знайомі ділянки даних. Заголовки багатьох типів файлів містять характерні послідовності символів. Наприклад, файли у форматі *.jpeg містять послідовність символів «JFIF», *.bmp зображення починаються з «BM», архіви *.zip починаються з символів «PK», *.dbf бази даних містять сигнатуру «OPLDatab», а документи PDF починаються з символів «% PDF-».

Деякі файли (наприклад, текстові та HTML файли) не мають характерних сигнатур, але можуть бути визначені за непрямими ознаками, тому містять тільки символи з таблиці ASCII.

Визначення розміру файлу

Для відновлення файлу замало тільки знайти його початок, потрібно також визначити його кінець. Кінець файлу можна знайти, знаючи розмір і адресу початку файлу. Розмір файлу визначається або аналізом заголовка (* .zip, * .jpeg, * .avi, * .psd, * .pst, * .rar, * .tiff тощо), або зчитуванням і аналізом секторів диска, що йдуть відразу за заголовком. Приміром, кінцем текстового або HTML файлу алгоритм буде вважати перший же сектор, який буде містити символи, що не входять в таблицю ASCII.

Обмеження

Сигнатурний пошук – не панацея. Перезапис вмісту файлу та фрагментованість дисків (особливо – файлів великого розміру) справляють негативний вплив на можливість відновлення інформації.

Гібридні алгоритми

Сучасні програми для відновлення даних використовують гібридний підхід до аналізу диска, намагаючись по можливості зчитати максимум інформації з файлової системи і вдаючись до сигнатурного аналізу вмісту диска тільки у випадках крайньої необхідності – при пошкодженні або відсутності файлової системи, а також для пошуку файлів, які видалених давно.

Valery Martyshko

Автор: Valery Martyshko, Технічний письменник

Автор, перекладач та технічний спеціаліст компанії Hetman Software. Має майже десятирічний досвід роботи в IT сфері, який охоплює різні галузі: від ПК з Windows та мобільних пристроїв, до фото та відео обладнання, сигналізацій та систем відеоспостереження, і т.д. Окрім іншого, є також спеціалістом по Android, Windows та Microsoft Office. Є експертом в області відновлення даних, файлових систем, пристроїв зберігання даних, RAID масивів. Детальніше

Рекомендуємо для вас