2012
DOI: 10.1007/978-3-642-27940-9_18
|View full text |Cite
|
Sign up to set email alerts
|

Alternating Control Flow Reconstruction

Abstract: Abstract. Unresolved indirect branch instructions are a major obstacle for statically reconstructing a control flow graph (CFG) from machine code. If static analysis cannot compute a precise set of possible targets for a branch, the necessary conservative over-approximation introduces a large amount of spurious edges, leading to even more imprecision and a degenerate CFG. In this paper, we propose to leverage under-approximation to handle this problem. We provide an abstract interpretation framework for contro… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
2
2
1

Citation Types

0
17
0
2

Year Published

2014
2014
2018
2018

Publication Types

Select...
4
3
2

Relationship

0
9

Authors

Journals

citations
Cited by 24 publications
(19 citation statements)
references
References 17 publications
0
17
0
2
Order By: Relevance
“…Researchers have been trying to automatically counteract control flow flattening techniques for years [37], but not many effective tools are available, one notable exception being Johannes Kinder's Jakstab [39,40,41,42]. However, at the current state of the art no automated approach is effective in reverse-engineering code obfuscated by state-of-the-art control flow flattening [43], severely crippling the capabilities of binary obfuscated binary reverseengineering.…”
Section: Related Workmentioning
confidence: 99%
“…Researchers have been trying to automatically counteract control flow flattening techniques for years [37], but not many effective tools are available, one notable exception being Johannes Kinder's Jakstab [39,40,41,42]. However, at the current state of the art no automated approach is effective in reverse-engineering code obfuscated by state-of-the-art control flow flattening [43], severely crippling the capabilities of binary obfuscated binary reverseengineering.…”
Section: Related Workmentioning
confidence: 99%
“…Our domain, combined with the call stack and the forward substitution domains of Jakstab (./jakstab --cpa sfz), is able to disassemble the unit test examples shipped with Jakstab. It also disassembles two of the three case studies from Kinder [15], the exception being demo3.exe, where our simplified widening causes a target of an indirect if(a > b) . .…”
Section: Discussionmentioning
confidence: 96%
“…With a combination of a widening and narrowing operator, optimized for the analysis of executables [4], our domain might be able to disassemble this example as well. For the demo2.exe example, our domain identifies two more instructions to be dead code than the original paper [15].…”
Section: Discussionmentioning
confidence: 99%
“…BE-PUM sử dụng thƣ viện mã nguồn mở Jackstab [10,11,14] để dịch ngƣợc mã nhị phân cho từng câu lệnh hợp ngữ tƣơng ứng với từng câu lệnh thực thi của tập tin và chƣơng trình SMT Z3.4.4 7 để giải các điều kiện, từ đó tìm ra đƣờng đi có tính khả thi.…”
Section: Giới Thiệu Be-pumunclassified