crackmes-re-dataset
收藏资源简介:
一个包含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.
数据集概述
crackmes-RE 是一个标注的反向工程(Reverse Engineering, RE)基准数据集,包含来自 crackmes.one 的 4,598 个 crackme 样本。该数据集旨在为自动化逆向工程(AI 代理 + 反编译器)提供基准测试。
数据集内容
对于每个 crackme,数据集提供以下信息(如可用):
- Flag / Secret:确切的秘密值。
- 生成的验证器 / Keygen 脚本:标准化、安全的验证脚本。
- 归一化的混淆标签:包含高级类别和具体技术。
注意:二进制文件不包含在此仓库中。用户需从 crackmes.one 站点存档 下载,并通过
hexid与数据集记录关联。
数据集规模与覆盖度
| 类别 | 数量 | 说明 |
|---|---|---|
| 高置信度可用核心 | 2,172 (47.2%) | 具有可机器检查答案(Flag 或通过自测试的验证器)的 crackme。 |
| 恢复的 Flag | 1,217 | 从人工审核的 Writeup 中提取的确切秘密。 |
| 通过自测试的验证器 | 1,025 | 可成功进行 keygen→verify 往返测试的验证脚本。 |
| 带有混淆标签 | 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%)通过了
keygen→verify自测试。
数据文件与目录结构
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} }




