five

Cross-Compilation-Dataset

收藏
github2020-07-15 更新2024-05-31 收录
下载链接:
https://github.com/abhyuday07/cross-compilation-dataset
下载链接
链接失效反馈
官方服务:
资源简介:
该数据集用于交叉编译函数变体的研究,包含多种架构和优化级别的函数信息。数据集中的每个条目包括库名称、文件路径、函数名称、架构、优化级别、功能数量和结构特征等。这些数据可用于比较不同平台二进制文件中的函数,通过中间表示(IR)进行分析。

This dataset is utilized for the study of cross-compiling function variants, encompassing information on functions across various architectures and optimization levels. Each entry within the dataset includes the library name, file path, function name, architecture, optimization level, number of features, and structural characteristics. These data can be employed to compare functions in binaries across different platforms, analyzed through intermediate representation (IR).
创建时间:
2019-12-01
原始信息汇总

数据集概述

数据集名称

Cross-Compilation-Dataset

数据集内容

该数据集包含跨编译函数变体的信息,具体包括以下字段:

  • lib_name: 库名称
  • file_path: 文件路径
  • function_name: 函数名称
  • arch: 架构
  • optimization_level: 优化级别
  • num_features: 数字特征,表示函数特征的数组
  • struct_features: 结构特征,包含基本块数量、边数量等信息

数据格式

数据集文件为JSON格式,可通过Python加载和访问。

数据访问示例

python

import json a = json.load(open("dataset_cross.json",r)) print(a.keys()) dict_keys([lib_name, file_path, function_name, arch, optimization_level, num_features, struct_features])

特征解释

  • 数字特征:一个包含7个整数的数组,表示函数的基本块数量、指令类型数量等。
  • 结构特征:一个包含5个值的数组,包括基本块数量、边数量、基本块ID列表、边列表和属性数组。

数据集生成

数据集通过使用Dockcross平台进行跨编译生成,支持多种架构,并使用开源库如openssl和fontforge生成函数。

搜集汇总
数据集介绍
main_image_url
构建方式
Cross-Compilation-Dataset的构建依托于Dockcross平台,该平台支持多种架构的交叉编译,包括x86、x64、MIPS和ARM等。数据集通过使用如openssl、fontforge等流行的开源库生成函数变体,进而收集不同编译路径下的函数信息。这些函数信息通过逆向工程工具如radare2提取,生成中间表示(IR),并进一步分类为数值特征和结构特征,最终形成可供研究的数据集。
特点
该数据集的特点在于其专注于跨平台编译函数变体的比较研究。数据集中的每个函数都包含七个关键字段,涵盖了库名、文件路径、函数名、架构、优化级别、数值特征和结构特征。数值特征由七个整数组成,描述了函数的基本块数量、指令类型数量等;结构特征则更为复杂,包含了基本块的数量、边数、基本块ID列表、边列表以及每个基本块的指令属性。这些特征为跨平台二进制文件的函数比较提供了统一的基准。
使用方法
使用Cross-Compilation-Dataset时,首先需将数据集文件解压为JSON格式。通过Python的json库加载数据后,用户可以通过键值对访问数据集中的各个字段。例如,使用`a['function_name'][i]`可以获取第i个函数的名称。数据集的结构设计使得用户能够轻松提取和分析函数的数值特征和结构特征,从而支持跨平台二进制文件的逆向工程研究。
背景与挑战
背景概述
Cross-Compilation-Dataset数据集由Abhyuday Pandey和Shivam Kumar于2019年创建,旨在为跨平台编译函数变体提供数据支持。该数据集的核心研究问题在于如何通过中间表示(IR)对不同编译路径下的二进制文件进行函数比较。通过使用Dockcross平台,研究人员能够对多种架构(如x86、x64、MIPS、arm等)进行跨编译,并生成函数变体。该数据集在逆向工程和编译器优化领域具有重要影响力,为研究人员提供了一个标准化的工具,用于分析和比较不同编译环境下的函数行为。
当前挑战
Cross-Compilation-Dataset数据集在解决跨平台函数比较问题时面临多重挑战。首先,不同架构的二进制文件在指令集和优化策略上存在显著差异,如何将这些差异统一到中间表示(IR)中是一个复杂的技术难题。其次,数据集构建过程中需要处理大量开源库的编译和函数提取,这对计算资源和时间成本提出了较高要求。此外,数据集中数值特征和结构特征的提取依赖于逆向工程工具(如radare2),这些工具的准确性和效率直接影响数据集的质量。最后,如何确保数据集的广泛适用性和可扩展性,以支持更多架构和编译场景,也是未来需要解决的关键问题。
常用场景
经典使用场景
Cross-Compilation-Dataset 数据集在跨平台二进制文件分析领域具有重要应用。通过将不同架构下的函数编译为中间表示(IR),该数据集为研究人员提供了一个统一的比较平台。经典使用场景包括在逆向工程中,利用该数据集对不同编译路径下的函数进行对比分析,从而揭示编译优化对函数结构的影响。
衍生相关工作
基于 Cross-Compilation-Dataset 数据集,衍生了许多经典研究工作。例如,研究人员利用该数据集开发了跨平台二进制代码相似性检测算法,显著提高了恶意软件家族识别的准确性。此外,该数据集还被用于构建跨平台函数签名库,为软件漏洞挖掘和补丁分析提供了重要支持。这些工作进一步推动了逆向工程和软件安全领域的发展。
数据集最近研究
最新研究方向
在跨平台编译领域,Cross-Compilation-Dataset为研究者提供了一个丰富的函数变体数据集,涵盖了多种架构和优化级别的编译结果。该数据集的核心价值在于其通过中间表示(IR)对函数进行数值和结构特征的提取,使得不同编译路径下的二进制文件能够进行有效对比。近年来,随着逆向工程和二进制分析技术的快速发展,研究者们利用该数据集探索了跨平台编译中的函数相似性分析、漏洞检测以及编译器优化效果评估等前沿方向。特别是在开源逆向工程工具如radare2和Ghidra的普及下,该数据集的应用场景进一步扩展,为跨平台软件兼容性和安全性研究提供了重要支持。
以上内容由遇见数据集搜集并总结生成
5,000+
优质数据集
54 个
任务类型
进入经典数据集
二维码
社区交流群

面向社区/商业的数据集话题

二维码
科研交流群

面向高校/科研机构的开源数据集话题

数据驱动未来

携手共赢发展

商业合作