Resolving Indirect Calls in Binary Code via Cross-Reference Augmented Graph Neural Networks
Haotian Zhang, Kun Liu, Cristian Garces, Chenke Luo, Yu Lei, Jiang Ming

TL;DR
CupidCall employs cross-reference augmented graph neural networks and compiler-level type analysis to significantly improve indirect call resolution accuracy in binary code analysis, outperforming existing ML-based methods.
Contribution
The paper introduces CupidCall, a novel method that enhances binary analysis by integrating cross-references into CFGs and utilizing advanced GNNs for precise indirect call resolution.
Findings
Achieves 95.2% F1 score on real-world binaries
Outperforms state-of-the-art ML approaches in accuracy
Enhances inter-procedural CFG construction for security analysis
Abstract
Binary code analysis is essential in scenarios where source code is unavailable, with extensive applications across various security domains. However, accurately resolving indirect call targets remains a longstanding challenge in maintaining the integrity of static analysis in binary code. This difficulty arises because the operand of a call instruction (e.g., call rax) remains unknown until runtime, resulting in an incomplete inter-procedural control flow graph (CFG). Previous approaches have struggled with low accuracy and limited scalability. To address these limitations, recent work has increasingly turned to machine learning (ML) to enhance analysis. However, this ML-driven approach faces two significant obstacles: low-quality callsite-callee training pairs and inadequate binary code representation, both of which undermine the accuracy of ML models. In this paper, we introduce…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsSoftware Engineering Research · Advanced Malware Detection Techniques · Software Testing and Debugging Techniques
