Перейти к содержимому
Aback Tools Logo

Анализатор TLS-колбэков

Разбирайте и анализируйте TLS-колбэки (Thread Local Storage) в PE-файлах. TLS-колбэки выполняются до точки входа программы, и их часто используют упаковщики, протекторы и вредоносное ПО для антиотладки, защиты от виртуальных машин и инициализации. Загрузите файл .exe, .dll или .sys либо вставьте шестнадцатеричные данные для мгновенного анализа. Вся обработка выполняется локально и конфиденциально.

TLS Callback Analyzer
Analyze TLS (Thread Local Storage) callbacks in PE files. TLS callbacks execute before the program entry point, making them a common technique used by packers, protectors, and malware to initialize code before analysis begins. Upload a PE file or paste hex data for instant analysis.
0 hex chars
Upload a PE file or paste hex to get started

Upload a PE file (.exe, .dll, .sys) or paste hex data to analyze TLS callbacks. The analyzer parses PE headers, extracts the TLS directory, and displays callback addresses.

Upload a PE binary or paste hex to start analysis

Почему стоит использовать наш анализатор TLS-колбэков?

  • Разбор заголовка PE и каталога TLS: анализатор TLS-колбэков разбирает всю структуру PE-файла, включая заголовок DOS, заголовок COFF, необязательный заголовок и все заголовки секций. Он целенаправленно извлекает запись каталога TLS (индекс 4 каталога данных), чтобы найти и декодировать адреса TLS-колбэков, выполняемых до точки входа программы.
  • Глубокий анализ адресов колбэков: каждый адрес TLS-колбэка извлекается из массива колбэков и отображается вместе с исходными байтами, относительным виртуальным адресом (RVA) и содержащей его секцией. Анализатор определяет, в какой секции находится каждый колбэк (.text, .tls и т. д.), и выделяет необычные сопоставления, которые могут указывать на активность упаковщика.
  • Полное представление структуры PE: просматривайте полную структуру PE-файла, включая архитектуру машины, адрес точки входа, базу образа, число секций, характеристики секций (CODE, INIT_DATA, EXECUTE, READ, WRITE) и предпросмотр первых 512 байт в шестнадцатеричном виде. Такая полная картина помогает аналитикам понять компоновку бинарного файла.
  • 100 % приватно, без загрузки данных: весь анализ TLS-колбэков выполняется локально в вашем браузере на JavaScript. Ваши PE-файлы и шестнадцатеричные данные никогда не покидают устройство. Без аккаунта, без отслеживания, без хранения данных. Анализатор поддерживает и загрузку файлов, и вставку шестнадцатеричных данных для полной гибкости.

Типичные сценарии использования анализатора TLS-колбэков

  • Обнаружение упаковщиков и протекторов: специалисты по безопасности используют анализ TLS-колбэков для выявления упакованных или защищённых исполняемых файлов. Упаковщики часто устанавливают TLS-колбэки, чтобы расшифровать или распаковать исходный код до выполнения точки входа. Наличие TLS-колбэков в бинарном файле - сильный признак упаковки или защиты.
  • Анализ инициализации вредоносного ПО: вредоносное ПО часто использует TLS-колбэки для выполнения кода инициализации, сокрытия процессов, проверки наличия отладчиков или определения окружения до запуска основной логики. Обнаружение и анализ таких колбэков раскрывает этап настройки вредоносного ПО и его приёмы антианализа.
  • Выявление антиотладки и защиты от виртуальных машин: TLS-колбэки часто применяются для реализации проверок на отладчики и виртуальные машины. Поскольку колбэки выполняются до точки входа, отладчики, подключающиеся к точке входа, пропускают эту инициализацию. Наш анализатор помогает выявить бинарные файлы, которые могут использовать этот приём.
  • Подготовка к обратной разработке: перед обратной разработкой бинарного файла аналитикам следует проверить наличие TLS-колбэков, чтобы понять полный поток выполнения. Если пропустить TLS-колбэки, анализ может оказаться неверным, так как они могут настраивать расшифровку, изменять таблицы импорта или модифицировать анализируемый код.
  • Анализ защиты ПО: коммерческие протекторы (Themida, VMProtect, Enigma, Obsidium) используют TLS-колбэки в составе своей цепочки защиты. Определение TLS-колбэков помогает понять, какой протектор применялся, и разобраться в слоях защиты бинарного файла.
  • Обучение формату PE-файлов: студенты, изучающие формат PE, могут использовать анализатор TLS-колбэков для изучения реальной структуры PE. Инструмент визуализирует всю цепочку заголовков - от сигнатуры DOS через каталоги данных необязательного заголовка до таблиц секций, делая формат PE наглядным и интерактивным.

Что такое TLS-колбэки?

TLS-колбэки (Thread Local Storage) - это указатели на функции, хранящиеся в каталоге TLS PE-файла, которые операционная система выполняет до точки входа программы ( main или WinMain ). Изначально они предназначались для инициализации переменных локального хранилища потока, но авторы упаковщиков, протекторов и вредоносного ПО стали использовать их для выполнения кода инициализации до того, как отладчик или аналитик сможет его перехватить. Каждый колбэк - это указатель на функцию, хранящийся в массиве с нулевым терминатором внутри структуры каталога TLS.

Как работает наш анализатор TLS-колбэков

  1. Загрузите или вставьте PE-файл: перетащите файл .exe, .dll или .sys либо вставьте бинарные данные в виде шестнадцатеричной строки. Анализатор читает исходные байты и проверяет заголовок MZ и сигнатуру PE.
  2. Разберите заголовки PE: анализатор извлекает заголовок DOS, заголовок COFF, необязательный заголовок (PE32 или PE32+), все 16 каталогов данных и таблицу секций. Он целенаправленно находит запись каталога TLS (индекс 4 каталога данных) и преобразует её RVA в смещение файла.
  3. Извлеките адреса колбэков: из каталога TLS анализатор читает указатель на массив колбэков, переходит по нему к данным файла и читает каждый 4-байтовый (PE32) или 8-байтовый (PE32+) указатель на функцию, пока не достигнет нулевого терминатора. Каждый адрес отображается вместе с RVA, исходными байтами и содержащей его секцией - всё в вашем браузере без загрузки на сервер.

Распространённые приёмы с TLS-колбэками

  • Инициализация упаковщиков: упаковщики вроде UPX, ASPack и MPRESS используют TLS-колбэки, чтобы расшифровать или распаковать исходный исполняемый код до запуска точки входа, делая распаковку во время выполнения прозрачной для процесса.
  • Проверки на отладчики: TLS-колбэки могут проверять наличие отладчика с помощью NtQueryInformationProcess , IsDebuggerPresent или атак по времени ещё до запуска основного кода, что делает их эффективными против отладчиков, подключающихся к точке входа.
  • Определение окружения: вредоносное ПО и протекторы используют TLS-колбэки для обнаружения виртуальных машин, песочниц или сред анализа, проверяя свойства оборудования, имена процессов или системные артефакты до того, как инструмент анализа сможет перехватить эти проверки.
  • Модификация таблицы импорта: некоторые протекторы используют TLS-колбэки, чтобы динамически разрешать или изменять адреса импорта, скрывая реальные зависимости бинарного файла от инструментов статического анализа, которые проверяют только таблицу импорта.

Приватность, безопасность и примечания по использованию

Анализатор TLS-колбэков обрабатывает все данные полностью в вашем браузере на JavaScript. Никакие PE-файлы или шестнадцатеричные данные никогда не загружаются на сервер, не сохраняются в базах данных и не передаются третьим лицам. Ограничений по размеру файла нет, кроме доступной памяти браузера. Входящий в комплект образец PE-файла - это минимальный синтетический бинарник с искусственными TLS-колбэками для учебных целей; он не является настоящим исполняемым файлом и не может быть запущен. Всегда анализируйте неизвестные бинарные файлы в изолированной среде с соблюдением необходимых мер предосторожности.

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

TLS-колбэки (Thread Local Storage) - это указатели на функции в заголовке PE-файла, которые автоматически выполняются до точки входа программы. Они важны потому, что выполняются раньше, чем обычно подключаются отладчики и инструменты анализа, что делает их ключевым приёмом антианализа у упаковщиков, протекторов и вредоносного ПО.

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

TLS-колбэки используют коммерческие протекторы, включая Themida, VMProtect, Enigma Protector и Obsidium. Их применяют и упаковщики с открытым исходным кодом, такие как UPX и ASPack. Семейства вредоносного ПО, включая TrickBot и Dridex, используют TLS-колбэки для инициализации в целях антианализа.

Да, анализатор полностью поддерживает форматы PE32 (32 бита) и PE32+ (64 бита). Он автоматически определяет магическое число необязательного заголовка и корректирует разбор, в том числе читает 8-байтовые указатели для PE32+ вместо 4-байтовых.

TLS-колбэки, указывающие на нестандартные секции, например на саму .tls или .data, могут говорить об активности упаковщика. Анализатор автоматически определяет секцию, содержащую каждый колбэк, и показывает её характеристики, чтобы выделить необычные сопоставления.

Анализатор разбирает структуру PE, чтобы найти запись каталога TLS по индексу 4 в каталоге данных, преобразует RVA в смещение файла с помощью таблицы секций и читает каждый указатель на функцию в массиве колбэков, пока не достигнет нулевого терминатора.

Да, полностью. Весь разбор PE и анализ TLS-колбэков выполняются локально в вашем браузере. Ваши файлы или шестнадцатеричные данные никогда не покидают устройство и не отправляются на сервер. Аккаунт не требуется, данные не сохраняются.

Анализатор поддерживает два режима ввода: загрузку файлов (.exe, .dll, .sys, .ocx, .scr, .cpl, .efi, .pe, .bin) и ввод шестнадцатеричного текста. Также можно загрузить образец PE-бинарника, чтобы изучить вывод инструмента перед анализом собственных файлов.

Кнопка «Загрузить образец PE» создаёт минимальный синтетический бинарник PE32 с каталогом TLS и двумя искусственными адресами колбэков. Этот образец создаётся полностью в вашем браузере и не является настоящим исполняемым файлом - он не может быть запущен и не содержит исполняемого кода.

Да, на 100 % бесплатный, без регистрации, аккаунта и ограничений на использование. Все функции, включая загрузку PE-файлов, шестнадцатеричный ввод, полный анализ каталога TLS, извлечение колбэков, просмотр секций и предпросмотр шестнадцатеричных данных, доступны без ограничений.