Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
NeuroCore — NeuroCore — это нативное приложение для macOS, которое визуализирует внутреннюю структуру бинарных файлов с помощью отображения кривой Гильберта и вычисления энтропии Шеннона, ускоренное с помощью вычислительных шейдеров Metal. | Kitploit
Инструменты/GitHubGitHub/farukalpay/neurocore
Статический анализОбратная инженерияФорензикаАнализ вредоносных программЦифровая криминалистикаАнализ Бинарных Файлов
GitHubfarukalpay/neurocore

NeuroCore

NeuroCore — это нативное приложение для macOS, которое визуализирует внутреннюю структуру бинарных файлов с помощью отображения кривой Гильберта и вычисления энтропии Шеннона, ускоренное с помощью вычислительных шейдеров Metal.

Репозиторий
2728 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

NeuroCore

Высокопроизводительная утилита для структурного анализа и визуализации двоичных данных


Аннотация

NeuroCore — это нативная утилита для macOS, разработанная для структурного анализа двоичных данных с помощью высокоскоростной визуализации. Используя технологию GPGPU (General-Purpose Computing on Graphics Processing Units) через Metal Compute Shaders, приложение в реальном времени отображает необработанные двоичные потоки на пространственно-заполняющую кривую Гильберта. Эта проекция обеспечивает быструю идентификацию таксономии файлов, распределения энтропии и криптографических аномалий, преодолевая ограничения линейного шестнадцатеричного представления.

Введение

Традиционные шестнадцатеричные редакторы представляют двоичные данные в линейном формате, основанном на смещениях, что скрывает макроструктурные закономерности и плотность данных. NeuroCore устраняет этот эвристический пробел, проецируя линейные данные в двумерное топологическое пространство.

Основная проекция основана на кривой Гильберта, непрерывной фрактальной пространственно-заполняющей кривой. Это математическое преобразование сохраняет пространственную локальность: точки данных, смежные в линейном потоке памяти, остаются строго смежными в двумерной визуализации. Это свойство позволяет аналитикам визуально анализировать структурный состав файла — различать машинный код, структурированный текст, растровые изображения и блоки с высокой энтропией — без разбора заголовка файла.

Техническая архитектура

NeuroCore спроектирован как высокопроизводительное нативное приложение, обходящее промежуточные уровни абстракции для прямого взаимодействия с GPU.

  • Язык: Swift 5.5+ (строгая конкурентность)
  • Графический конвейер: Metal API (кодировщики команд вычислений и рендеринга)
  • Интерфейс: SwiftUI с мостом NSViewRepresentable для слоёв Metal.
  • Конвейер рендеринга

    Механизм рендеринга использует пользовательское ядро Metal Shading Language (MSL) для параллельного вычисления энтропии Шеннона и отображения координат.

    1. Приём: Необработанные двоичные данные передаются в объекты MTLBuffer.
    2. Вычисления: GPU выполняет вычисление энтропии скользящим окном по всему буферу.
    3. Отображение: Линейные смещения преобразуются в координаты $(x, y)$ с помощью битовых алгоритмов отображения Гильберта.
    4. Растеризация: Фрагменты пикселей динамически окрашиваются на основе локальной дисперсии энтропии, достигая производительности 60 кадров/с на наборах данных произвольного размера без перегрузки видеопамяти.

    Визуальный анализ и интерпретация данных

    Следующие примеры демонстрируют эффективность NeuroCore в различении структур файлов с помощью визуализации энтропии.


    Анализ структуры данных JSON
    Рисунок 1: Визуализация неопознанного двоичного файла размером 17,7 МБ (идентифицирован как иерархический JSON)

    Пример I: Иерархические данные с низкой энтропией

    Объект: Файл размером 17,7 МБ, классифицированный операционной системой как «Неизвестный».

    • Сигнатура энтропии (низкая/средняя): В визуализации преобладает зелёно-бирюзовый спектр, что свидетельствует о значении энтропии $\approx 2.0 - 4.0$. В отличие от зашифрованных блоков, этот спектр указывает на высокую избыточность и предсказуемость потока данных.
    • Топологические особенности: Чёткое геометрическое разделение и «блочные» артефакты вдоль кривой Гильберта характерны для форматированного текста. Сплошные области представляют повторяющиеся последовательности байтов (например, отступы из пробелов, повторяющиеся ключи), а разрозненные вариации — изменения значений.
    • Заключение: Визуальная топография подтверждает, что файл представляет собой несжатую иерархическую текстовую структуру (набор данных JSON), а не скомпилированный исполняемый файл, что устраняет необходимость первоначального шестнадцатеричного анализа.



    Анализ сжатых двоичных данных
    Рисунок 2: Визуализация образа диска Apple (.dmg) размером 192 МБ

    Пример II: Сжатые архивы с высокой энтропией

    Объект: Том .dmg размером 192 МБ.

    • Сигнатура энтропии (высокая): Насыщение красными пиксельными данными указывает на максимальную энтропию ($\approx 7,5 - 8,0$ бит на байт). Хотя визуально это интерпретируется как «шум», данное стохастическое распределение свидетельствует об эффективном устранении избыточности данных.
    • Однородность текстуры: Визуализация лишена геометрических «островков», наблюдаемых на рисунке 1. Алгоритмы сжатия (например, LZFSE, zlib) равномерно распределяют значения байтов для максимизации эффективности хранения, что приводит к полю высокой дисперсии.
    • Заключение: Эта визуальная плотность является отличительной сигнатурой упакованных исполняемых файлов, зашифрованных томов или сжатых архивов. В контексте криминалистики обнаружение такой сигнатуры в файле, претендующем на роль стандартного документа, немедленно укажет на внедрение стеганографической полезной нагрузки или шифрование.

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

    • Аппаратно-ускоренные вычисления: Перекладывает эвристику энтропии и преобразование координат на GPU через Metal Compute Shaders, обеспечивая навигацию в реальном времени.
    • Сохранение локальности Гильберта: Преобразует линейные потоки в двумерную топографию, сохраняя отношения соседства, делая структурные границы визуально явными.
    • Колориметрия на основе энтропии:
      • Красный: Высокая энтропия (шифрование, сжатие, выход ГСЧ).
      • Синий/Зелёный: Низкая-средняя энтропия (машинный код x86/ARM64, текст, заголовки).
      • Чёрный: Нулевое пространство (заполнение нулями/выделение).
    • Виртуальное окно: Реализует систему навигации с нулевым выделением памяти. Смещения вычисляются динамически внутри шейдера, что позволяет немедленно перемещаться по файлам гигабайтного размера без предварительной буферизации полных наборов данных в VRAM.

    Варианты использования

    1. Обратная разработка: Быстрая локализация секций .text, встроенных ресурсов или зашифрованных полезных нагрузок внутри двоичных обёрток.
    2. Анализ вредоносного ПО: Визуальная идентификация упаковщиков и слоёв обфускации, которые проявляются как аномалии с высокой энтропией, отличные от стандартной скомпилированной логики.
    3. Цифровая криминалистика: Обнаружение добавленных данных (оверлеев в конце файла) или стеганографических модификаций, нарушающих ожидаемые шаблоны структуры файла.
    4. Криптографическая валидация: Визуальная проверка равномерности генератора случайных чисел (ГСЧ) и эффективности алгоритмов сжатия.

    Установка и сборка

    Этот проект использует нативный инструментарий macOS и не требует внешних менеджеров пакетов.

    Предварительные требования:

    • macOS 12.0 (Monterey) или новее.
    • Рекомендуется архитектура Apple Silicon (M1/M2/M3) для оптимальной пропускной способности шейдеров.
    • Инструменты командной строки Xcode.

    Компиляция:

    Выполните следующую команду в корне проекта для вызова компилятора Swift и связывания требуемых фреймворков (SwiftUI, Metal, MetalKit, AppKit, Foundation):

    root@kitploit:~
    swiftc NeuroCoreApp.swift ContentView.swift Renderer.swift ShaderSource.swift Utils.swift \
    -o NeuroCore \
    -sdk $(xcrun --show-sdk-path) \
    -target arm64-apple-macos12.0 \
    -framework SwiftUI \
    -framework Metal \
    -framework MetalKit \
    -framework AppKit \
    -framework Foundation
    
    

    Запуск:

    root@kitploit:~
    ./NeuroCore
    
    

    Использование

    1. Приём данных: Перетащите любой двоичный объект непосредственно на область просмотра визуализации. Рендеринг происходит мгновенно.
    2. Навигация:
    • Панорамирование: Прокрутка двумя пальцами (трекпад) или колесо прокрутки.
    • Масштабирование: Удерживайте Option + прокрутка для регулировки плотности байтов на пиксель.

    Лицензия

    Все права защищены. Несанкционированное коммерческое использование, распространение или модификация строго запрещены.

    Скачать инструмент