计算机科学
x86个
ARM体系结构
机械臂
调用图
图形
混淆
二进制代码
静态分析
二进制数
抽象解释
程序设计语言
并行计算
软件
理论计算机科学
人工智能
嵌入式系统
算术
计算机安全
数学
作者
Yapeng Ye,Zhuo Zhang,Qingkai Shi,Yousra Aafer,Xiangyu Zhang
标识
DOI:10.1109/sp46215.2023.10179307
摘要
ARM binary analysis has a wide range of applications in ARM system security. A fundamental challenge is ARM disassembly. ARM, particularly AArch32, has a number of unique features making disassembly distinct from x86 disassembly, such as the mixing of ARM and Thumb instruction modes, implicit mode switching within an application, and more prevalent use of inlined data. Existing techniques cannot achieve high accuracy when binaries become complex and have undergone obfuscation. We propose a novel ARM binary disassembly technique that is particularly designed to address challenges in legacy code for 32-bit ARM binaries. It features a lightweight superset instruction interpretation method to derive rich semantic information and a graph-theory based method that aggregates such information to produce final results. Our comparative evaluation with a number of state-of-the-art disassemblers, including Ghidra, IDA, P-Disasm, XDA, D-Disasm, and Spedi, on thousands of binaries generated from SPEC2000 and SPEC2006 with various settings, and real-world applications collected online show that our technique D-ARM substantially outperforms the baselines.
科研通智能强力驱动
Strongly Powered by AbleSci AI