Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
qsynth-artifacts — QSynth 的基准数据集和合成产物,包含 Tigress 混淆的 C 函数、x86_64 二进制文件、执行轨迹、ground truth 以及合成的 AST 结果。 | Kitploit
工具/GitHubGitHub/werew/qsynth-artifacts
静态分析动态分析 (沙盒)代码分析逆向工程二进制分析论文与研究学习与教育
GitHubwerew/qsynth-artifacts

qsynth-artifacts

QSynth 的基准数据集和合成产物,包含 Tigress 混淆的 C 函数、x86_64 二进制文件、执行轨迹、ground truth 以及合成的 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:用于重新生成 obfuscated.c 文件的 Shell 脚本

  • 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 对象。表达式使用与 Syntia 类似的逆波兰表示法(RPN)进行编码。

下载工具