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

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

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

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

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

Категории

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

NeuroCore

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

Репозиторий
27178 месяцев назадПроверено 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):

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

Запуск:

./NeuroCore

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

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