[go: up one dir, main page]
More Web Proxy on the site http://driver.im/ skip to main content
10.1145/2659651.2659697acmotherconferencesArticle/Chapter ViewAbstractPublication PagessinConference Proceedingsconference-collections
research-article

Reverse Engineering of ARM Binaries Using Formal Transformations

Published: 09 September 2014 Publication History

Abstract

Understanding the behavior of a program when no source code is available tends to be a complicated and time-expensive task. In particular, only very limited information can be gained without analyzing the binary's assembler representation. In this paper, we present a novel approach for reverse engineering of ARM binaries. The main idea is to translate the original assembler representation into a formal intermediate representation language, namely WSL, and then to apply rephrasing transformations to the code. To achieve a highly modular translation, we define a rule set to translate each assembler instruction individually. Furthermore, new rephrasing rules were developed to recover high level control flow aspects and to eliminate assembler specific program fragments in the intermediate code. Our translation engine was coupled with the FermaT program transformation system to apply the rephrasing rules. We demonstrate the applicability of our approach through the successful recovery of high level control flow statements in the Debian coreutils binaries. Using these example binaries, we studied the performance and the quality of our transformation.

References

[1]
ARM. ARM Compiler toolchain, 4.1 edition, 2011.
[2]
S. Cesare and Y. Xiang. Wire -- a formal intermediate language for binary analysis. In TrustCom, pages 515--524. IEEE, 2012.
[3]
F. Chen, H. Yang, W. Chu, and B. Xu. A program transformation framework for multicore software reengineering. In QSIC, pages 270--275. IEEE, 2012.
[4]
Hex Rays. Hex-rays home, 2012.
[5]
J. C. King. Symbolic execution and program testing. Commun. ACM, 19(7):385--394, July 1976.
[6]
C. Kruegel, E. Kirda, D. Mutz, W. Robertson, and G. Vigna. Automating mimicry attacks using static binary analysis. In Proceedings of the USENIX Security Symposium. USENIX, 2005.
[7]
Martin P. Ward. Pigs from sausages? Reengineering from assembler to C via FermaT transformations. Sci. Comput. Program., 52:213--255, 2004.
[8]
M. Myreen, M. Gordon, and K. Slind. Machine-code verification for multiple architectures-an application of decompilation into logic. In Formal Methods in Computer-Aided Design, pages 1--8. IEEE, 2008.
[9]
M. Ward and K. Bennett. A practical program transformation system for reverse engineering. In Reverse Engineering, pages 212--221. IEEE, 1993.
[10]
M. Ward and H. Zedan. Combining dynamic and static slicing for analysing assembler. Science of Comp. Progr., 75(3):134--175, 2010.
[11]
M. P. Ward. Assembler to C Migration using the FermaT Transformation System. In Int. Conf. on Software Maintenance, pages 67--76. IEEE, 1999.

Recommendations

Comments

Please enable JavaScript to view thecomments powered by Disqus.

Information & Contributors

Information

Published In

cover image ACM Other conferences
SIN '14: Proceedings of the 7th International Conference on Security of Information and Networks
September 2014
518 pages
ISBN:9781450330336
DOI:10.1145/2659651
Permission to make digital or hard copies of all or part of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than the author(s) must be honored. Abstracting with credit is permitted. To copy otherwise, or republish, to post on servers or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from [email protected].

In-Cooperation

Publisher

Association for Computing Machinery

New York, NY, United States

Publication History

Published: 09 September 2014

Permissions

Request permissions for this article.

Check for updates

Qualifiers

  • Research-article
  • Research
  • Refereed limited

Conference

SIN '14

Acceptance Rates

SIN '14 Paper Acceptance Rate 32 of 109 submissions, 29%;
Overall Acceptance Rate 102 of 289 submissions, 35%

Contributors

Other Metrics

Bibliometrics & Citations

Bibliometrics

Article Metrics

  • 0
    Total Citations
  • 118
    Total Downloads
  • Downloads (Last 12 months)1
  • Downloads (Last 6 weeks)0
Reflects downloads up to 09 Mar 2025

Other Metrics

Citations

View Options

Login options

View options

PDF

View or Download as a PDF file.

PDF

eReader

View online with eReader.

eReader

Figures

Tables

Media

Share

Share

Share this Publication link

Share on social media