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

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

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

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

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

Категории

Все категории
Loading categories
splinter — Инструментарий анализа JVM во время выполнения для просмотра классов, методов, полей, пула констант и байткода | Kitploit
Инструменты/GitHubGitHub/awrped/splinter
Динамический анализ (песочница)Криминалистика памятиДинамический анализ кода (DAST)Обратная инженерияОтладчикиАнализ вредоносных программАнализ Бинарных Файлов
GitHubawrped/splinter

splinter

Инструментарий анализа JVM во время выполнения для просмотра классов, методов, полей, пула констант и байткода

Репозиторий
8010 дней назадПроверено Kitploit

Популярное

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

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

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

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

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

splinter

splinter — это набор инструментов для анализа JVM, позволяющий пользователю просматривать классы, методы, поля, пулы констант и байт-код во время выполнения. Он был создан и протестирован на openjdk build 22.0.2+9-70

что такое splinter?

Обычно, когда думают об инструменте анализа для JVM, предполагают, что он использует JNI или JVMTI, но splinter — не такой!

На самом деле splinter является внешним инструментом и на данный момент обладает следующими возможностями:

  • может читать HotSpot VMStructs из работающего процесса
  • может декодировать байт-код в реальном времени через Method и ConstMethod

Долгосрочная цель — сделать его инструментом анализа JVM во время выполнения для:

  • инспекция загруженных классов
  • инспекция методов и полей
  • декодирование пула констант
  • дизассемблирование байт-кода
  • анализ графа классов и метаданных

текущий конвейер выполнения splinter

текущее состояние

текущая кодовая база пока является основой, но она все еще функционирует

на момент написания (3/11/2026) splinter может:

  • автоматически подключаться к читаемому процессу javaw.exe
  • находить jvm.dll в целевом процессе
  • разрешать экспортированные таблицы VMStruct из jvm.dll
  • разбирать:
    • поля VMStruct
    • VMTypes
    • целочисленные константы HotSpot
    • длинные константы HotSpot
  • выводить список загруженных классов через ClassLoaderDataGraph
  • инспектировать Klass и InstanceKlass
  • декодировать записи пула констант
  • декодировать потоки полей HotSpot из InstanceKlass::_fieldinfo_stream
  • инспектировать Method / ConstMethod
  • читать живые байт-коды
  • дизассемблировать байт-код с поддержкой переписанных/исполняемых байт-кодов HotSpot

байт-код

Одна из самых крутых особенностей splinter в том, что он не использует байт-код формата class-файла, а использует инструкции байт-кода времени выполнения из интерпретатора HotSpot, которые затем считываются обратно в виде символических ссылок на классы/методы/поля.

Это важно, потому что HotSpot склонен переписывать некоторые инструкции во время выполнения. В настоящее время мы обрабатываем:

  • закодированные индексы invokedynamic
  • быстрые байт-коды HotSpot, такие как:
    • fast_iaccess_0
    • fast_igetfield
    • fast_aldc
    • invokehandle

разрешение переписанного байт-кода splinter

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