遇见数据集

crackmes-re-dataset

收藏
github2026-07-12 更新2026-07-13 收录
官方服务:

资源简介:

一个包含4,598个逆向工程挑战(crackmes)的标注数据集,源自crackmes.one,用于自动化逆向工程(AI代理+反编译器)的基准测试。提供每个挑战的标志/秘密、生成的验证器/密钥生成脚本以及标准化的混淆标签。数据集不包含二进制文件,仅包含派生标签和生成它们的流程。

An annotated dataset consisting of 4,598 reverse engineering challenges (crackmes) sourced from crackmes.one, intended as a benchmark for automated reverse engineering (AI Agent + decompiler). The dataset provides the flag or secret for each challenge, along with generated validator/key generation scripts and standardized obfuscation labels. This dataset excludes binary files, only containing the derived labels and the workflows for their generation.

创建时间:
2026-07-12
原始信息汇总

数据集概述

crackmes-RE 是一个标注的反向工程(Reverse Engineering, RE)基准数据集,包含来自 crackmes.one4,598 个 crackme 样本。该数据集旨在为自动化逆向工程(AI 代理 + 反编译器)提供基准测试。

数据集内容

对于每个 crackme,数据集提供以下信息(如可用):

  1. Flag / Secret:确切的秘密值。
  2. 生成的验证器 / Keygen 脚本:标准化、安全的验证脚本。
  3. 归一化的混淆标签:包含高级类别和具体技术。

注意:二进制文件不包含在此仓库中。用户需从 crackmes.one 站点存档 下载,并通过 hexid 与数据集记录关联。

数据集规模与覆盖度

类别 数量 说明
高置信度可用核心 2,172 (47.2%) 具有可机器检查答案(Flag 或通过自测试的验证器)的 crackme。
恢复的 Flag 1,217 从人工审核的 Writeup 中提取的确切秘密。
通过自测试的验证器 1,025 可成功进行 keygenverify 往返测试的验证脚本。
带有混淆标签 1,715 涵盖 16 个混淆类别及特定技术子标签(如反调试、打包器、控制流混淆)。
Flag 唯一但未公开值 164 Writeup 未明确给出 Flag 值。
未通过自测试的验证器 698 已重建但未确认正确。
隔离为不支持 41 需要网络、密钥文件、原生 DLL 或漏洞利用的 crackme。

主要混淆标签统计

  • Anti-debugging(反调试):756
  • String/data encryption(字符串/数据加密):586
  • Packer(打包器):563
  • Self-modifying(自修改):312
  • Crypto/hash(加密/哈希):283

特定子标签示例:IsDebuggerPresent(211 个)、UPX(219 个)、FSG(62 个)。

验证器 CLI 接口

所有验证器脚本均经过安全审计,确保为纯计算(无 OS 调用、子进程、网络、文件写入或 DLL 加载)。

python3 verifiers/<hexid>.py keygen # 生成最多10对"<user> <serial>" python3 verifiers/<hexid>.py verify <user> <serial> # 返回 "1" (有效) 或 "0" (无效)

  • 共有 1,820 个标准化、安全的验证器脚本。
  • 其中 1,025 个(56%)通过了 keygenverify 自测试。

数据文件与目录结构

  • dataset/crackmes_dataset.jsonl:每条记录一个 JSON 对象(含嵌入的验证器代码)。
  • dataset/crackmes_dataset.csv:扁平化的电子表格友好格式。
  • dataset/README.md:数据表,包含模式、限制和引用信息。
  • dataset/TAXONOMY.md:完整的标签词汇表及记录示例。
  • verifiers/<hexid>.py:自动生成的 1,820 个标准化验证器脚本。
  • pipeline/:数据处理管线,包含构建语料库、提取 Flag、生成验证器、标签归一化、自测试等脚本。

数据状态与引用

  • 标签来源:使用 claude-sonnet-4-6 从人工审核的 Writeup 中通过 LLM 提取。
  • 验证状态binary_verified: false(标签未直接对照二进制文件验证)。
  • 下一步:计划进行沙箱化的二进制验证,以构建更高置信度的基准。

引用格式:

Xusheng Li. crackmes-RE: a labeled reverse-engineering benchmark dataset. crackmes.one, 2026. https://crackmes.one

bibtex @misc{crackmes_re_dataset, title = {crackmes-RE: a labeled reverse-engineering benchmark dataset}, author = {Xusheng Li}, howpublished = {crackmes.one}, year = {2026}, note = {https://crackmes.one} }

搜集汇总
数据集介绍
crackmes-re-dataset 数据集图片
构建方式
该数据集基于 crackmes.one 平台上的 4,598 个逆向工程挑战样本(crackme)构建而成,是专为评估自动化逆向工程系统(涵盖人工智能代理与反编译器)性能而设计的标注资源。数据集构建流程涵盖多阶段自动化处理:首先通过构建脚本整合各 crackme 的评论与解答文档;其次利用 Sonnet 大语言模型与批处理 API 解析并提取标志(flag)、混淆标签及推理过程;随后针对具备生成密钥脚本潜力的子集,生成标准化的验证器脚本,并通过静态安全性审计与沙盒化自测试(keygen→verify 往返验证)筛选高置信度样本;最后通过规范化与子分类步骤,将原始标签归纳为 16 个大类并补充反调试、加壳器及控制流等细粒度子标签,形成结构化标注体系。
特点
该数据集的核心特色在于提供了多维度、高层次的标注信息:1,217 个经过人工审核的精确标志,1,025 个通过自测试验证的密钥生成/验证脚本,合计覆盖 47.2% 的样本具有可信的机器可判答案。混淆标签体系涵盖 16 个高级类别与针对性技术子类,例如反调试的 IsDebuggerPresent 检测(211 例)、UPX 加壳(219 例)及控制流混淆技术。此外,数据集明确标注了 164 个标志未明确披露的样本、698 个未通过自测试的验证器脚本及 41 个因依赖网络/密钥文件/本机 DLL 而隔离的不受支持样本,便于用户按需筛选可靠子集。所有验证器脚本均被重写为纯计算形式,静态扫描确认无危险操作。
使用方法
研究者可通过数据集提供的标准化接口高效使用本资源。每条 crackme 记录存储于 JSONL 与 CSV 格式文件中,包含标志、混淆标签及验证器代码。验证器脚本位于 verifiers/ 目录,支持两种命令行操作:运行 python3 verifiers/<hexid>.py keygen 可生成最多 10 对合法的用户名与序列号;执行 python3 verifiers/<hexid>.py verify <user> <serial> 则返回布尔值判断是否为有效组合。建议优先选用自测试通过(self_test.pass 为真)的 1,025 个脚本以保证基准测试的可靠性。完整的数据模式、局限性说明及引用格式详见 dataset/README.md 与 TAXONOMY.md 文档。
背景与挑战
背景概述
逆向工程是软件安全领域的核心基石,其自动化进程长期受困于高质量标注数据的匮乏。在此背景下,crackmes-re-dataset于2026年由研究者Xusheng Li基于crackmes.one平台构建而成,旨在为自动逆向工程(涵盖AI智能体与反编译器)提供标准化基准测试。该数据集精心收集了4,598个crackme样本,从中提取出1,217个经过人工审核确认的标识符、1,025个通过自测试的验证器脚本,并系统标注了16类混淆技术(如反调试、字符串加密、加壳等)。其核心研究问题在于弥合逆向工程中人工分析与自动化工具之间的鸿沟,通过提供可机器校验的高置信度答案,为评估和推动逆向工程智能化研究提供了关键资源。
当前挑战
该数据集面临的挑战首先体现在领域问题的复杂性上:逆向工程自动化不仅要应对层出不穷的二进制混淆技术(如反调试、自修改代码、加密算法等多重手段交织),还需精确识别并提取隐藏的标识符或密钥,而当前对混淆标签的标注仅基于LLM从人工解答中提取,尚未通过二进制执行为验证。构建过程中亦遭遇多重困难:4,598个样本中仅47.2%能获得高置信度答案,164个样本的标识符在解答中从未明确给出,698个验证器因无法通过自测试而被归为未确认状态,另有41个样本因依赖网络、密钥文件或DLL注入等特殊机制而被迫隔离。原始标签依赖AI转录并可能存在公共解答污染,欲臻至金标准尚需沙箱二进制验证的严格把关。
常用场景
经典使用场景
在逆向工程与软件安全领域,crackmes-re-dataset为自动化逆向分析系统的评估提供了标准化基准。该数据集包含来自crackmes.one平台的4,598个逆向挑战样本,其中1,217个明确提取了秘密标志,1,025个通过了自测试验证器的验证,形成了高置信度的真值标签。研究者可利用这些样本对大型语言模型驱动的逆向代理、基于反编译器的符号执行系统以及混合型自动分析管道进行端到端的能力测评,特别是在标志提取、验证器生成和混淆技术识别等核心任务上衡量其性能。
解决学术问题
该数据集系统性地解决了逆向工程领域长期存在的基准缺失难题。在学术研究中,不同自动逆向系统往往在小规模、非标准化的私有样本集上评估,导致结果难以复现与横向比较。crackmes-re-dataset通过提供4,598个标注一致的样本(涵盖16类混淆技术、特定反调试与加壳子标签),使研究者能够定量评估自动化逆向工具在标志恢复、密钥生成器重构和混淆感知分析上的真实能力。这一资源填补了从定性描述转向定量测评的关键缺口,推动了自动化逆向研究的可重复性与严谨性。
衍生相关工作
基于crackmes-re-dataset的发布,已催生出多项关联性研究工作。该数据集为逆向工程领域建立了一个可扩展的评估框架,直接支撑了面向大型语言模型的逆向代理基准测试,研究者可借此比较GPT-4、Claude及开源模型在标志提取与验证器生成任务上的表现。此外,数据集中1,715条带有规范化混淆标签的样本启发了针对反调试技术与加壳算法的精细化分类研究,推动了混淆消除与自动化脱壳技术的改进。未来方向包括对二进制文件进行沙箱化验证以确保标签真实性,以及将数据集扩展至涵盖更多操作系统与架构平台。
以上内容由遇见数据集搜集并总结生成
二维码
社区交流群
二维码
科研交流群
商业服务