2016
DOI: 10.1145/2980024.2872380
|View full text |Cite
|
Sign up to set email alerts
|

Lifting Assembly to Intermediate Representation

Abstract: Translating low-level machine instructions into higher-level intermediate language (IL) is one of the central steps in many binary analysis and instrumentation systems. Existing systems build such translators manually. As a result, it takes a great deal of effort to support new architectures. Even for widely deployed architectures, full instruction sets may not be modeled, e.g., mature systems such as Valgrind still lack support for AVX, FMA4 and SSE4.1 for x86 processors. To overcome these difficulties, we pr… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
3

Citation Types

0
3
0

Year Published

2017
2017
2022
2022

Publication Types

Select...
1
1
1

Relationship

0
3

Authors

Journals

citations
Cited by 3 publications
(3 citation statements)
references
References 23 publications
0
3
0
Order By: Relevance
“…Hasabnis et. al [14] developed a learning-based method to automate this, which depended heavily on integration with the compiler. Wang et al [36] created Ouroboros, a tool to disassemble binaries in such a way that the output can be re-assembled into a binary again which is rule-based as opposed to learningbased.…”
Section: Related Workmentioning
confidence: 99%
“…Hasabnis et. al [14] developed a learning-based method to automate this, which depended heavily on integration with the compiler. Wang et al [36] created Ouroboros, a tool to disassemble binaries in such a way that the output can be re-assembled into a binary again which is rule-based as opposed to learningbased.…”
Section: Related Workmentioning
confidence: 99%
“…On the other hand, their usage requires to trust both the transpiler and the implementation of the analysis. Due to the complexity of writing a transpiler for each architecture, recent work has been done to synthesize the transpiler from compiler backends [25]. However, this requires to trust both: the synthesis procedure and the compiler backend.…”
Section: Related Workmentioning
confidence: 99%
“…On the other hand, their usage requires to trust the used transpiler. Due to the complexity of writing a transpiler for each architecture, recent work has been done to synthesize the transpiler from compiler backends [12]. However, this requires to trust both: the synthesis procedure and the compiler backend.…”
Section: Related Workmentioning
confidence: 99%