paperbot · PL 论文追踪

全部论文 待读 收藏

P2 Statistical Reconstruction of Class Hierarchies in Binaries

二进制中类层次结构的统计重建
ASPLOS Proceedings of the Twenty-Third International Conference on Architectural Support for Programming Languages and Operating Systems2018匹配度 4/10 · 论文属于程序分析与机器学习的交叉,使用统计语言模型辅助静态分析,并有真实二进制工具实现,与“AI→PL”中利用机器学习改进静态分析的大方向有交集;但它不涉及 LLM/Agent、浮点程序分析或贝叶斯程序分析,核心任务(二进制类层次重建)也与用户当前关注的问题距离较远。引用 15 inbox
Omer Katz, Noam Rinetzky, Eran Yahav
crossref: 2026-09-12

AI 速览

一句话:提出首个基于行为相似性的统计方法,从剥离二进制中重建类层次。

本文研究面向对象二进制逆向工程中的类层次重建问题:在符号被剥离的二进制中恢复继承关系。现有方法依赖父构造函数调用等结构信息,但这类信息未必可用,常导致层次缺失或重建失败。作者提出首个基于行为相似性的静态统计方法,用统计语言模型(SLM)刻画每个类型的行为,并以 SLM 间的 Kullback-Leibler 散度度量类型两两相似度,再将相似度提升为最可能的类层次。该方法在工具 ROCK 中实现,用于自动重建多个真实 stripped C++ 二进制程序的类层次。结果表明,ROCK 得到的层次显著比仅用结构分析更准确。

问题
如何从剥离符号的面向对象二进制中重建类层次结构;现有方法依赖可能缺失的结构信息,导致层次不完整或重建失败。
方法
用统计语言模型刻画每个类型的行为,以 SLM 间的 Kullback-Leibler 散度定义类型相似度,并据此推断最可能的类层次。
评估
在工具 ROCK 中实现,对多个真实世界 stripped C++ 二进制程序自动重建类层次,并与仅使用结构分析的结果比较准确度。
原文摘要(Abstract)

We address a fundamental problem in reverse engineering of object-oriented code: the reconstruction of a program's class hierarchy from its stripped binary. Existing approaches rely heavily on structural information that is not always available, e.g., calls to parent constructors. As a result, these approaches often leave gaps in the hierarchies they construct, or fail to construct them altogether. Our main insight is that behavioral information can be used to infer subclass/superclass relations, supplementing any missing structural information. Thus, we propose the first statistical approach for static reconstruction of class hierarchies based on behavioral similarity. We capture the behavior of each type using a statistical language model (SLM), define a metric for pairwise similarity between types based on the Kullback-Leibler divergence between their SLMs, and lift it to determine the most likely class hierarchy. We implemented our approach in a tool called ROCK and used it to automatically reconstruct the class hierarchies of several real-world stripped C++ binaries. Our results demonstrate that ROCK obtained significantly more accurate class hierarchies than those obtained using structural analysis alone.

链接与引用

DOI 原文 ·

BibTeX
@inproceedings{paperbot4281,
  title = {Statistical Reconstruction of Class Hierarchies in Binaries},
  author = {Omer Katz and Noam Rinetzky and Eran Yahav},
  booktitle = {ASPLOS},
  year = {2018},
  doi = {10.1145/3173162.3173202}
}