Skip to content

ØccultoNG – это стеганографический «швейцарский нож» для изображений. Он позволяет НЕЗАМЕТНО прятать внутри любой картинки: • текстовые сообщения, пароли, коды; • любые файлы (PDF, ZIP, EXE, видео) до 50 МБ.

Notifications You must be signed in to change notification settings

Proffessor2008/-ccultoNG

Repository files navigation

ØccultoNG Pro v2.1.0 🔐

Профессиональный инструмент стеганографии с расширенными методами скрытия данных в изображениях и аудио.

Python 3.8+ License Version Status Platform


📋 Содержание


🎯 Описание

ØccultoNG Pro — это профессиональный инструмент для скрытия конфиденциальных данных внутри изображений и аудиофайлов с использованием передовых алгоритмов стеганографии. Приложение обеспечивает баланс между максимальной вместимостью, невидимостью для детектирования и устойчивостью к ошибкам.

Программа зарегистрирована в Роспатенте (свидетельство №2023XXXXXX) и разработана в соответствии с лучшими практиками информационной безопасности.


✨ Ключевые особенности

🎨 Студийный интерфейс

  • 9 профессиональных тем (Тёмная, Светлая, Космос, Океан, Лес, Неонка, Закат, Киберпанк, Матовая)
  • Интуитивный drag-and-drop интерфейс с анимациями
  • Предпросмотр изображений с детальной статистикой
  • Real-time прогресс-бар с визуализацией процесса
  • Горячие клавиши для всех операций
  • История последних файлов с контекстными действиями

🔐 Продвинутая стеганография

  • 6 методов стеганографии (LSB, Adaptive-Noise, AELSB+Hamming, HILL-CA, JPEG DCT, WAV LSB)
  • Автоматическое обнаружение метода при извлечении
  • Поддержка форматов: PNG, BMP, TIFF, TGA, JPEG, WAV
  • CRC32 + Hamming(7,3) для проверки целостности
  • PBKDF2 хеширование паролей (100K итераций)
  • Сжатие данных перед скрытием

📊 Аналитика и умные функции

  • Пакетная обработка до 5 файлов одновременно
  • SmartAssistant с контекстными рекомендациями
  • HistoryLog для отслеживания всех операций
  • Система достижений с геймификацией
  • Аналитика использования с визуализацией
  • Автоматическое резервное копирование файлов
  • Рекомендации метода в зависимости от контейнера

🔬 Поддерживаемые методы

Метод Вместимость Скрытность Устойчивость Формат
LSB Максимальная Слабая Слабая PNG/BMP/TIFF/TGA
Adaptive-Noise Средняя Средняя Средняя PNG/BMP/TIFF/TGA
AELSB + Hamming Средняя Средняя Высокая PNG/BMP/TIFF/TGA
HILL-CA Средняя Высокая Средняя PNG/BMP/TIFF/TGA
JPEG DCT Слабая Средняя Слабая JPEG
WAV LSB Максимальная Слабая Слабая WAV

Примечание: Выбор метода зависит от вашего приоритета:

  • Максимум данных? → LSB
  • Невидимость? → HILL-CA или JPEG DCT
  • Надёжность? → AELSB (восстановление ошибок)

💻 Системные требования

✓ Python 3.8 или выше
✓ 4GB RAM (для больших файлов)
✓ 500 MB свободного места на диске
✓ Windows 10+, macOS 10.14+, или Linux (любой дистрибутив)

Требуемые зависимости

Pillow>=9.0.0
numpy>=1.21.0
scipy>=1.7.0
numba>=0.55.0
opencv-python>=4.5.0
tkinterdnd2>=0.3.0

📥 Установка

Пошаговая установка

# 1. Клонирование репозитория
git clone https://github.com/Proffessor2008/-ccultoNG.git
cd -ccultoNG

# 2. Создание виртуального окружения
# Windows
python -m venv venv
venv\Scripts\activate

# macOS/Linux
python3 -m venv venv
source venv/bin/activate

# 3. Установка зависимостей
pip install -r requirements.txt

# 4. Запуск приложения
python stegoproexp.py

🚀 Быстрый старт

Скрытие данных через GUI:

  1. Запустите приложение: python stegoproexp.py
  2. Выберите метод скрытия из выпадающего списка
  3. Перетащите контейнер (PNG/JPEG/WAV) в соответствующую область
  4. Перетащите данные (текст/файл) для скрытия
  5. Нажмите "Скрыть" и выберите путь сохранения
  6. Результат сохранён!

Извлечение данных:

  1. Перейдите на вкладку "Извлечь данные"
  2. Перетащите файл со скрытыми данными в область загрузки
  3. Метод определится автоматически (если не указан вручную)
  4. Нажмите "Извлечь"
  5. Данные готовы! Скопируйте или сохраните

Пакетная обработка:

  1. Перейдите на вкладку "Пакетная обработка"
  2. Выберите режим: Скрытие, Извлечение или Анализ
  3. Добавьте до 5 файлов в очередь обработки
  4. Настройте параметры обработки
  5. Нажмите "Начать обработку"
  6. Дождитесь завершения и сохраните результаты

💻 Программный API

Базовое использование (Python)

from stego_processor import ImageProcessor

# Скрытие данных в изображении
container_path = "photo.png"
data_to_hide = b"Secret message"
output_path = "stego_result.png"

ImageProcessor.hide_data(
    container_path,
    data_to_hide,
    "",  # пароль
    output_path,
    method="lsb",  # или "noise", "aelsb", "hill", "jpeg_dct"
    progress_callback=lambda p, msg: print(f"{msg} {p:.1f}%")
)

# Извлечение данных
extracted_data = ImageProcessor.extract_data(output_path, "")
print(extracted_data)  # b"Secret message"

JPEG DCT метод

from stego_processor import JPEGStego

# Скрытие в JPEG DCT коэффициентах
JPEGStego.hide_dct(
    "photo.jpg",
    b"Secret data",
    "",
    "stego_photo.jpg"
)

# Извлечение из JPEG
data = JPEGStego.extract_dct("stego_photo.jpg", "")
print(data)  # b"Secret data"

Аудио стеганография (WAV)

from stego_processor import AudioStego

# Скрытие в WAV
AudioStego.hide_lsb_wav(
    "audio.wav",
    b"Secret message",
    "stego_audio.wav"
)

# Извлечение из WAV
data = AudioStego.extract_lsb_wav("stego_audio.wav")
print(data)  # b"Secret message"

🏗️ Архитектура

Структура проекта

-ccultoNG/
├── stegoproexp.py          # Главный файл приложения
├── requirements.txt        # Зависимости Python
├── README.md               # Этот файл
├── stego_settings_pro.json # Конфигурация пользователя
├── stego_analytics.json    # Статистика использования
├── stego_history_pro.json  # История операций
└── plugins/                # Папка для плагинов

Основные модули:
├─ AdvancedStego.py         # Алгоритмы LSB, Noise, AELSB, HILL
├─ JPEGStego.py             # JPEG DCT алгоритм
├─ AudioStego.py            # WAV LSB алгоритм
├─ ImageProcessor.py        # Обработка изображений
├─ ThemeManager.py          # Управление темами
├─ SmartAssistant.py        # Интеллектуальные рекомендации
├─ BatchProcessor.py        # Пакетная обработка
├─ AchievementManager.py    # Система достижений
└─ HistoryLog.py            # Логирование операций

Поток данных при скрытии

┌─────────────────────────────────────────────────────┐
│            СКРЫТИЕ ДАННЫХ                           │
├─────────────────────────────────────────────────────┤
│ 1. Чтение контейнера (PNG/JPEG/WAV)                 │
│ 2. Сжатие данных (zlib, level 9)                    │
│ 3. Добавление заголовка (magic bytes + checksum)   │
│ 4. Выбор метода встраивания                         │
│ 5. Скрытие в контейнер (LSB/DCT/Noise/AELSB/HILL)  │
│ 6. Сохранение результата                            │
│ 7. Логирование операции (HistoryLog)                │
└─────────────────────────────────────────────────────┘

Поток данных при извлечении

┌─────────────────────────────────────────────────────┐
│            ИЗВЛЕЧЕНИЕ ДАННЫХ                        │
├─────────────────────────────────────────────────────┤
│ 1. Чтение контейнера                                │
│ 2. Автоопределение метода скрытия                   │
│ 3. Извлечение битов из контейнера                   │
│ 4. Проверка CRC32 (целостность)                     │
│ 5. Восстановление ошибок (если Hamming)             │
│ 6. Распаковка данных (zlib)                         │
│ 7. Возврат оригинальных данных                      │
└─────────────────────────────────────────────────────┘

🔧 Расширенные возможности

Горячие клавиши

Клавиша Функция
Ctrl+O Открыть контейнер
Ctrl+H Скрыть данные
Ctrl+E Извлечь данные
Ctrl+S Сохранить результат
F1 Справка
Ctrl+Tab Переключиться на следующую вкладку
Ctrl+Shift+Tab Переключиться на предыдущую вкладку
Ctrl+B Перейти к пакетной обработке
Ctrl+, Открыть настройки

Переменные окружения

# Для отладки
export STEGO_DEBUG=1

# Изменить папку с логами
export STEGO_LOG_DIR=/custom/path

# Ограничить максимальный размер файла (МБ)
export STEGO_MAX_FILE_SIZE=500

Экспорт/Импорт настроек

Экспорт конфигурации:

Меню → Настройки → Экспортировать настройки

Импорт конфигурации:

Меню → Настройки → Импортировать настройки

🔐 Безопасность

Криптография

  • PBKDF2-SHA256 с 100,000 итерациями
  • SHA256 для контрольных сумм (дополнительно CRC32)
  • Random salt для каждого пароля (16 байт)

Проверка целостности

  • CRC32 для быстрой проверки
  • Hamming(7,3) коды для восстановления одиночных ошибок
  • Автоматическая проверка целостности при извлечении

Рекомендации по безопасности

# ✅ РЕКОМЕНДУЕТСЯ:
# 1. Используйте сложные пароли
password = "MySecure@Pass2024#Complex"

# 2. Скрывайте конфиденциальные данные
data = b"Secret agent ID: 007"

# 3. Используйте HILL-CA или JPEG DCT для максимальной скрытности
method = "hill"

# ❌ НЕ РЕКОМЕНДУЕТСЯ:
password = "123"          # Слишком простой пароль
method = "lsb"           # Легко детектируется стеганализатором
data = b"Public data"    # Нет смысла скрывать публичную информацию

Юридическая информация

⚠️ Важно: Программа предназначена исключительно для законного использования:

  • ✅ Защита личной конфиденциальности
  • ✅ Исследования в области информационной безопасности
  • ✅ Образовательные цели
  • ✅ Коммерческое использование (с разрешением)

Запрещено использование для:

  • Распространения нелегального контента
  • Обхода систем защиты
  • Скрытия следов преступной деятельности
  • Любых действий, нарушающих законодательство РФ

❓ Часто задаваемые вопросы

Q: Какой метод выбрать для максимальной скрытности?

A: Зависит от типа контейнера и ваших целей:

┌─────────────────────────────────────────────────────┐
│ КОНТЕЙНЕР   │ ЦЕЛЬ                    │ МЕТОД        │
├─────────────┼─────────────────────────┼──────────────┤
│ PNG/BMP     │ Максимальная скрытность │ HILL-CA      │
│ JPEG        │ Максимальная скрытность │ JPEG DCT     │
│ PNG/BMP     │ Максимум данных         │ LSB          │
│ PNG/BMP     │ Надёжность              │ AELSB+Hamming│
│ WAV         │ Аудио контейнер         │ WAV LSB      │
└─────────────┴─────────────────────────┴──────────────┘

Q: Какова максимальная вместимость?

A: Зависит от размера контейнера и метода:

# Для 1920x1080 PNG (RGB):
# LSB:          ~ 7.77 MB
# Adaptive:     ~ 3.88 MB
# AELSB:        ~ 1.85 MB (из-за Hamming кодов)
# HILL-CA:      ~ 1.85 MB
# JPEG DCT:     ~ 0.5-1.0 MB (зависит от качества)
# WAV 44.1kHz:  ~ 1.3 MB на минуту аудио

Q: Что делать, если данные не извлекаются?

A: Попробуйте следующее:

  1. Убедитесь, что используете правильный файл-контейнер
  2. Попробуйте другой метод извлечения
  3. Проверьте, не был ли файл изменен после скрытия данных
  4. Используйте вкладку "Анализ" для диагностики файла
  5. Проверьте целостность файла через HistoryLog

Q: Как обрабатывать больше 5 файлов в пакетной обработке?

A: Разделите файлы на группы по 5 штук и обработайте каждую группу отдельно. Результаты можно экспортировать в JSON для объединения отчетов.

Q: Почему при первом запуске требуется установка пароля?

A: Это дополнительный уровень безопасности для защиты ваших настроек и истории операций. Пароль хранится только в локальном файле и используется для шифрования чувствительных данных.


🤝 Вклад в проект

Направления для вклада

Мы приветствуем вклады в следующих областях:

  1. Новые алгоритмы стеганографии

    • Кодирование Эндреса
    • Модификация LSB Matching
    • ML-методы обнаружения и встраивания
  2. Улучшение UI/UX

    • Новые темы оформления
    • Оптимизация производительности интерфейса
    • Поддержка других языков
  3. Производительность

    • GPU-ускорение для обработки изображений
    • Оптимизация многопоточной обработки
    • Кэширование для часто используемых операций
  4. Тестирование

    • Unit-тесты с pytest
    • Интеграционные тесты
    • Stress-testing для больших файлов

Процесс внесения изменений

# 1. Fork репозитория
# 2. Создайте feature branch
git checkout -b feature/new-method

# 3. Внесите изменения
# 4. Добавьте тесты для нового функционала
# 5. Commit с описательным сообщением
git commit -m "feat: добавлен новый метод стеганографии XYZ"

# 6. Push в ваш fork
git push origin feature/new-method

# 7. Создайте Pull Request с описанием изменений

Стиль кода

Следуйте PEP 8 и используйте type hints:

from typing import Tuple, Optional
import logging

logger = logging.getLogger(__name__)

def process_image(
    image_path: str,
    data: bytes,
    method: str = "lsb"
) -> Optional[bytes]:
    """Обрабатывает изображение для скрытия данных."""
    try:
        # Реализация
        pass
    except ValueError as e:
        logger.error(f"Ошибка обработки изображения: {e}")
        return None

📜 Лицензия

ØccultoNG Pro распространяется по следующим лицензионным моделям:

Коммерческая лицензия

Лицензия: Proprietary
Использование: Коммерческие проекты, интеграция
Стоимость: Индивидуальная
Контакт: tudubambam@yandex.ru

Академическая лицензия

Лицензия: Academic Research License
Использование: Университеты, исследования, публикации
Стоимость: Бесплатно с обязательной атрибуцией
Требование: Ссылка на оригинальный проект в публикациях

Личное использование

Лицензия: Free for Personal Use
Использование: Личные проекты, образование
Ограничения: Запрещено коммерческое распространение

📞 Контакты

Автор: MustaNG
Версия: 2.1.0 (18.12.2025)
GitHub: https://github.com/Proffessor2008/-ccultoNG
Email: tudubambam@yandex.ru


🙏 Благодарности

Спасибо за использование ØccultoNG Pro!

Если вам нравится проект, пожалуйста:

  • Поставьте звезду на GitHub
  • 🍴 Сделайте fork и внесите улучшения
  • 📢 Поделитесь с друзьями и коллегами
  • 🐛 Сообщите об ошибках через Issues
  • 💡 Предложите идеи для улучшения

Made with ❤️ by MustaNG

"Hiding secrets, securing privacy, advancing cybersecurity education"

v2.1.0 — 18.12.2025

About

ØccultoNG – это стеганографический «швейцарский нож» для изображений. Он позволяет НЕЗАМЕТНО прятать внутри любой картинки: • текстовые сообщения, пароли, коды; • любые файлы (PDF, ZIP, EXE, видео) до 50 МБ.

Resources

Stars

Watchers

Forks

Packages

No packages published