data has transfered to another zenodo
ICFlowNet Executable binaries underpin virtually every computing system today, yet analyzing them without source code remains a formidable challenge—particularly in reconstructing control-flow graphs where runtime-determined indirect control-flow (ICF) transfers such as indirect calls, jump tables, indirect tail calls, and returns pose the greatest hurdle—and in our paper we introduce ICFlowNet, a graph neural network–based multi-task learning framework that jointly predicts all major ICF types by leveraging inductive knowledge transfer between frequent and rare patterns to learn unified, generalized control-flow representations, which, when evaluated on over 15,000 Arch Linux binaries, significantly outperforms state-of-the-art single-task models under strict data deduplication, representing a substantial advance in practical and precise binary analysis. Project Structure .├── env.yml # Conda environment file for reproducing experiments├── graph/ # Graph generation and preprocessing of ground truth├── llvm-project/ # Customized LLVM sources for compilation + ground truth collection(x86labelindirecttarget.cpp CGcall.cpp..)├── model/ # Pretrained models├── pin/ # Dynamic tracing tools (Mypintool.cpp)├── readme.md # Project documentation and setup guide├── scripts/ # Utility and helper scripts (automation, data prep...)└── src/ # Core source code (training, evaluation, main pipeline) 🚀 Detailed Workflow > Note: All code should be run with the appropriate path completions. 1. Binary Generation Binaries are generated using the customized LLVM toolchain (see (./llvm-project)) and the dynamic tracing tool (see (./pin)).For convenience, a pre-collected dataset is provided in icf_data.zip. 2. Environment Setup cd ~/icflownet/conda env create -f env.yml -n icflownetconda activate icflownet # Install DGL (CUDA 11.8 build for PyTorch 2.3)pip install dgl==2.4.0+cu118 \ -f https://data.dgl.ai/wheels/torch-2.3/cu118/repo.html 3. Graph Generation & Ground Truth Processing # To generate a graph from a binary:cd ~/icflownet/scripts/./getstaticgt_pipeline.sh <binary_path> 4. Model Training # Single-task trainingpython3 train_single.py --graph_dir# Multi-task trainingpython3 train_multi.py --graph_dir
Publication Details
- Journal
- Zenodo (CERN European Organization for Nuclear Research)
- Published
- 2025-08-18
- DOI
- https://doi.org/10.5281/zenodo.16895223
- Primary Topic
- Muon and positron interactions and applications
- Type
- article
- Field-Weighted Citation Impact
- 0.00