Skip to content
KitploitKITPLOIT
HerramientasExploitsBlog
Log in
Enviar
HerramientasExploitsBlog
Enviar

¡Herramientas de Hacking, PenTest y Ciberseguridad para tu Arsenal de Seguridad!

Kitploit es un directorio de herramientas de hacking, ciberseguridad y pentesting. Descubre las últimas actualizaciones de proyectos para encontrar vulnerabilidades, analizar sistemas, automatizar pruebas y fortalecer tu seguridad.

FeedsContactoPrivacidad© 2026 Kitploit

Directorio de Herramientas

Categorías

Ver todas las categorías
Loading categories
qsynth-artifacts — Conjuntos de datos de referencia y artefactos de síntesis para QSynth, que contienen funciones C ofuscadas con Tigress, binarios x86_64, trazas de ejecución, ground truth y resultados de AST sintetizados. | Kitploit
Herramientas/GitHubGitHub/werew/qsynth-artifacts
Análisis EstáticoAnálisis Dinámico (Sandboxing)Análisis de CódigoIngeniería InversaAnálisis de BinariosPapers e InvestigaciónAprendizaje y Educación
GitHubwerew/qsynth-artifacts

qsynth-artifacts

Conjuntos de datos de referencia y artefactos de síntesis para QSynth, que contienen funciones C ofuscadas con Tigress, binarios x86_64, trazas de ejecución, ground truth y resultados de AST sintetizados.

Ver Repositorio
114hace 6 añosAún no revisado

Más Populares

Ver todos →

Descubre las herramientas más usadas por nuestra comunidad.

Explora todas las herramientas

Explora nuestra colección de herramientas

Ver todas las herramientas →
Compartir

QSynth Synthesis Artefacts

Conjuntos de datos

Estos artefactos proporcionan los siguientes cuatro conjuntos de datos:

  • syntia: 500 funciones ofuscadas con EncodeArithmetic y EncodeData
  • custom_EA: 500 funciones ofuscadas con EncodeArithmetic
  • custom_VR_EA: 500 funciones ofuscadas con Virtualize y EncodeArithmetic
  • custom_EA_ED: 500 funciones ofuscadas con EncodeArithmetic y Virtualize (el rastro de la base de datos está truncado a 293 funciones)

Un benchmark

Cada directorio de conjunto de datos contiene los siguientes archivos:

  • original.c: archivo fuente que contiene todas las funciones

  • obfuscated.c: archivo fuente ofuscado generado por Tigress

  • run_tigress.sh: script de shell para regenerar el archivo obfuscated.c

  • ground_truth.json: un archivo JSON que contiene la verdad fundamental. Para cada función contiene la expresión original (en original.c) y su contraparte ofuscada en (obfuscated.c)

  • obfuscated: binario precompilado como x86_64 (sin PIE)

  • trace.db: el rastro de ejecución como base de datos SQLite (probablemente el archivo más interesante)

  • results:

    • qsynth.log: la salida sin procesar del script de síntesis
    • qsynth.json: salida procesable por QSynth (muy probablemente el segundo archivo más interesante)

Resultado

El archivo qsynth.json contiene para cada función las siguientes entradas, como por ejemplo:

{
  "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 y stop son los desplazamientos en el rastro de ejecución (por lo tanto, el id en la base de datos). Luego, para cada expresión, la expresión en sí misma y su tamaño de nodo y profundidad. Después, dse_t, synthesis_t proporcionan respectivamente el tiempo de ejecución simbólica y el tiempo de síntesis. is_simplified y is_fully_synthesized indican si la función fue simplificada y, de ser así, si lo fue completamente. sem_orig_obf, sem_obf_trit y sem_orig_synth indican si la semántica se conserva entre, por ejemplo, la original y la sintetizada (sem_orig_synth). "UNK" indica que no se ha comprobado o que produjo un timeout.

Tablas de oráculo de síntesis

Las tablas utilizadas para los benchmarks están disponibles aquí: https://ret2libc.com/static/various/lts_15/ Son objetos pickle de Python. Las expresiones están codificadas con una notación polaca inversa (RPN) similar a la de Syntia.

Descargar herramienta