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

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

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

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

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

Категории

Все категории
Loading categories
qsynth-artifacts — Наборы данных для бенчмарков и артефакты синтеза для QSynth, содержащие обфусцированные с помощью Tigress функции на C, бинарные файлы x86_64, трассировки выполнения, эталонные данные и результаты синтеза AST. | Kitploit
Инструменты/GitHubGitHub/werew/qsynth-artifacts
Статический анализДинамический анализ (песочница)Анализ КодаОбратная инженерияАнализ Бинарных ФайловСтатьи и ИсследованияОбучение и Образование
GitHubwerew/qsynth-artifacts

qsynth-artifacts

Наборы данных для бенчмарков и артефакты синтеза для QSynth, содержащие обфусцированные с помощью Tigress функции на C, бинарные файлы x86_64, трассировки выполнения, эталонные данные и результаты синтеза AST.

Репозиторий
1146 лет назадЕщё не проверено

Популярное

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

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

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

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

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

Артефакты синтеза QSynth

Наборы данных

Эти артефакты предоставляют следующие четыре набора данных:

  • syntia: 500 функций, обфусцированных с помощью EncodeArithmetic и EncodeData
  • custom_EA: 500 функций, обфусцированных с помощью EncodeArithmetic
  • custom_VR_EA: 500 функций, обфусцированных с помощью Virtualize и EncodeArithmetic
  • custom_EA_ED: 500 функций, обфусцированных с помощью EncodeArithmetic и Virtualize (трассировка базы данных усечена до 293 функций)

Бенчмарк

Каждый каталог набора данных содержит следующие файлы:

  • original.c: исходный файл, содержащий все функции

  • obfuscated.c: обфусцированный исходный файл, сгенерированный Tigress

  • run_tigress.sh: Shell-скрипт для повторной генерации файла obfuscated.c

  • ground_truth.json: JSON-файл, содержащий эталонные данные. Для каждой функции он содержит исходное выражение (в original.c) и его обфусцированный аналог (в obfuscated.c)

  • obfuscated: предварительно скомпилированный бинарный файл для x86_64 (без PIE)

  • trace.db: трассировка выполнения в виде базы данных SQLite (вероятно, самый интересный файл)

  • results:

    • qsynth.log: необработанный вывод скрипта синтеза
    • qsynth.json: вывод, обрабатываемый QSynth (весьма вероятно, второй по интересности файл)

Результат

Файл qsynth.json содержит для каждой функции следующие записи, например:

{
  "target_1": {
    "fun_name": "target_1",
    "start": 164,
    "stop": 238,
    "orig_ast": "~(b*d ^ d*d) - b",
    "orig_node": 10,
    "orig_depth": 5,
    "obfu_ast": "(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1 ^ b) - ((~(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1) & b) + (~(((b & d)*(b | d) + (b & ~d)*(~b & d) & (d & d)*(d | d) + (d & ~d)*(~d & d)) - ((b & d)*(b | d) + (b & ~d)*(~b & d) | (d & d)*(d | d) + (d & ~d)*(~d & d)) - 1) & b))",
    "obfu_node": 229,
    "obfu_depth": 12,
    "triton_ast": "(((b & d)*(b | d) + (~b & d)*(~d & b) & d*d) - (d*d | (b & d)*(b | d) + (~b & d)*(~d & b)) - 1 ^ b) - (((d*d ^ (b & d)*(b | d) + (~b & d)*(~d & b)) & b) + ((d*d ^ (b & d)*(b | d) + (~b & d)*(~d & b)) & b))",
    "triton_node": 95,
    "triton_depth": 10,
    "synthesized_ast": "~((d*d ^ d*b) + b)",
    "synth_node": 10,
    "synth_depth": 5,
    "dse_t": 0.10445356369018555,
    "synthesis_t": 0.03491616249084473,
    "sem_orig_obf": "UNK",
    "sem_obf_trit": "UNK",
    "sem_orig_synth": "OK",
    "is_simplified": true,
    "is_fully_synthesized": true
  }
}

Start и stop — это смещения в трассировке выполнения (таким образом, id в БД). Затем для каждого выражения — само выражение, а также размер и глубина его узла. Далее dse_t, synthesis_t дают соответственно время символьного выполнения и время синтеза. is_simplified и is_fully_synthesized указывают, была ли функция упрощена и, если да, то полностью ли. sem_orig_obf, sem_obf_trit и sem_orig_synth указывают, сохранена ли семантика, например, между оригиналом и синтезированным (sem_orig_synth). "UNK" означает, что это не было проверено или что проверка завершилась таймаутом.

Таблицы оракула синтеза

Таблицы, использованные для бенчмарков, доступны здесь: https://ret2libc.com/static/various/lts_15/ Это объекты Python pickle. Выражения закодированы с использованием нотации, аналогичной обратной польской записи (RPN), как в Syntia.

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