Image Checker — це Python-скрипт для автоматичної перевірки цілісності та відкривання графічних файлів (зображень). Він рекурсивно сканує директорію або список файлів, визначає валідність кожного зображення, формує детальний звіт, а за бажанням — копіює лише справні (валідні) файли у нову директорію зі збереженням структури.
-
✅ Перевірка усіх файлів у директорії (без фільтрації за розширенням)
-
📄 Підтримка перевірки зі списку файлів (текстовий файл із шляхами)
-
🧠 Визначення:
- формату (JPEG, PNG, TIFF, BMP, WEBP, HEIC тощо)
- роздільності (ширина × висота)
- кольорової моделі (RGB, CMYK тощо)
-
📊 Формування детального звіту у текстовому форматі
-
📁 Опціональне копіювання лише валідних файлів у нову директорію
-
💾 Виведення розміру кожного файлу у зручному форматі (KB, MB, GB)
-
🔍 Обробка типових помилок (пошкоджені, недоступні або нерозпізнані зображення)
Для роботи необхідна бібліотека Pillow:
pip install Pillow-
Клонувати репозиторій або завантажити скрипт
git clone https://github.com/your-org/image-checker.git cd image-checker -
Відредагувати налаштування в коді (розділ main):
DIRECTORY = r"D:\Example\Images" # шлях до директорії з файлами FILE_LIST = None # або шлях до файлу зі списком COPY_VALID_FILES = True # чи копіювати валідні файли
-
Запустити скрипт:
python check_images.py
Після виконання в поточній директорії створюються три файли:
| Файл | Опис |
|---|---|
valid_images.txt |
Список усіх успішно відкритих (валідних) файлів |
invalid_images.txt |
Список проблемних файлів із причинами помилки |
check_report.txt |
Підсумковий звіт із загальною статистикою |
Якщо ввімкнено копіювання (COPY_VALID_FILES = True), буде створено папку
valid_files/ зі збереженням структури оригінальних піддиректорій.
================================================================================
ЗВІТ ПРО ПЕРЕВІРКУ ГРАФІЧНИХ ФАЙЛІВ
================================================================================
Всього файлів у директорії: 1024
Всього перевірено файлів: 1024
Валідних файлів: 1000 (97.6%)
Невалідних файлів: 24 (2.4%)
Загальний обсяг всіх файлів: 3.42 GB
Загальний обсяг валідних файлів: 3.39 GB (99.1%)
Загальний обсяг невалідних файлів: 0.03 GB (0.9%)
Типи помилок:
Не розпізнано як зображення: 20
Файл не знайдено: 3
Немає доступу до файлу: 1
| Функція | Призначення |
|---|---|
check_image(file_path) |
Перевіряє окремий файл і визначає, чи це дійсне зображення |
check_images_in_directory(directory) |
Рекурсивно перевіряє всі файли у директорії |
check_images_from_list(file_list_path) |
Перевіряє файли зі списку (по одному на рядок) |
save_results(results, output_dir) |
Зберігає звіти у текстові файли |
print_summary(results) |
Виводить короткий підсумок у консоль |
copy_valid_files(results, source_dir, output_dir) |
Копіює валідні файли у нову директорію |
format_size(size_bytes) |
Перетворює розмір файлу у читабельний вигляд (KB, MB, GB) |
Перевірка директорії з фотографіями:
python check_images.pyПеревірка файлів зі списку:
FILE_LIST = r"C:\lists\images.txt"
DIRECTORY = Nonesqlite_forensics.py
Судовий експерт Дата створення: 07.11.2025
Скрипт призначений для автоматизованого судово-експертного аналізу SQLite баз даних, виявлених у цифрових доказах (мобільних пристроях, комп’ютерах, резервних копіях тощо). Інструмент дозволяє:
- виявляти всі SQLite-файли у заданому каталозі;
- аналізувати їх структуру та вміст;
- перевіряти цілісність баз даних;
- збирати метадані файлів (дати створення, модифікації, розміри, хеш-суми);
- експортувати вміст таблиць у CSV-формат;
- фіксувати наявність можливих видалених даних (через
freelist); - формувати структурований звіт у форматах JSON та TXT для подальшого використання у висновках експерта.
| № | Функціонал | Опис |
|---|---|---|
| 1 | 🔍 Пошук баз даних | Автоматичне виявлення файлів з розширеннями .db, .sqlite, .sqlite3, .sqlitedb у вказаному каталозі. |
| 2 | 📦 Отримання метаданих | Збір атрибутів файлу: повний шлях, розмір, дати створення/модифікації/доступу, контрольні суми (MD5, SHA-1, SHA-256). |
| 3 | 🧩 Перевірка цілісності | Виконується через команду PRAGMA integrity_check; для оцінки пошкоджень БД. |
| 4 | 📋 Аналіз структури БД | Визначення кількості таблиць, колонок, тригерів, індексів та версії SQLite. |
| 5 | 📂 Експорт даних таблиць | Збереження вмісту кожної таблиці у CSV-файл для подальшого аналізу або огляду. |
| 6 | 🧾 Пошук видалених записів | Виявлення кількості сторінок freelist як індикатора наявності видалених об’єктів. |
| 7 | 📑 Формування звітів | Генерація детального звіту у форматі JSON (повна технічна інформація) та TXT (людиночитний звіт для експертного висновку). |
-
Запуск програми (
main)- Користувач вказує шлях до каталогу з досліджуваними файлами (
DIRECTORY_PATH). - Створюється об’єкт класу
SQLiteForensics.
- Користувач вказує шлях до каталогу з досліджуваними файлами (
-
Пошук баз даних
- Метод
find_sqlitedb_files()сканує каталог рекурсивно.
- Метод
-
Аналіз кожної БД
-
Для кожного знайденого файлу викликається
analyze_database(), який:- збирає метадані (
get_file_metadata); - перевіряє цілісність (
check_database_integrity); - досліджує структуру таблиць (
get_database_info); - перевіряє можливість відновлення видалених записів (
search_deleted_records); - експортує таблиці в CSV (
export_table_data).
- збирає метадані (
-
-
Формування підсумкових звітів
- Повний технічний звіт у форматі JSON — з усіма полями, таблицями, хешами, датами;
- Текстовий звіт у форматі TXT — з коротким описом результатів для використання у висновках експерта.
Після завершення роботи скрипта в каталозі створюється папка:
forensic_report/
├── forensic_report_YYYYMMDD_HHMMSS.json
├── text_report_YYYYMMDD_HHMMSS.txt
└── exported_data/
├── database1_table1.csv
├── database1_table2.csv
└── ...
*.json– повний звіт для архівування або машинного аналізу;*.txt– готовий текст для включення до експертного висновку;exported_data– CSV-файли з даними таблиць усіх знайдених баз.
python sqlite_forensics.pypython sqlite_forensics.py "D:\Evidence\Phone_Backup"
⚠️ Перед запуском обов’язково вкажіть шлях до каталогу у зміннійDIRECTORY_PATHабо передайте його як аргумент.
- Python: 3.8+
- ОС: Windows / Linux / macOS
- Зовнішні бібліотеки: тільки стандартні модулі Python (
sqlite3,hashlib,json,csv,os,datetime,pathlib,sys)
Скрипт може застосовуватись:
- при проведенні комп’ютерно-технічних або цифрових експертиз;
- під час аналізу резервних копій мобільних пристроїв (Android, iOS);
- для аудиту цілісності даних у базах SQLite;
- при підготовці експертних висновків у кримінальних, адміністративних та цивільних справах.
Після виконання скрипта експерт отримує:
- зібрані технічні характеристики кожного файлу бази;
- інформацію про структуру, кількість таблиць та записів;
- результати перевірки цілісності;
- збережені копії таблиць у форматі CSV;
- готовий звіт для долучення до експертного висновку.