Get 20M+ Full-Text Papers For Less Than $1.50/day. Start a 7-Day Trial for You or Your Team.

Learn More →

Decompilation of binary programs

Decompilation of binary programs The structure of a decompiler is presented, along with a thorough description of the different modules that form part of a decompiler, and the type of analyses that are performed on the machine code to regenerate high‐level language code. The phases of the decompiler have been grouped into three main modules: front‐end, universal decompiling machine, and back‐end. The front‐end is a machine‐dependent module that performs the loading, parsing and semantic analysis of the input program, as well as generating an intermediate representation of the program. The universal decompiling machine is a machine‐ and language‐independent module that performs data and control flow analysis of the program based on the intermediate representation, and the program's control flow graph. The back‐end is a language‐dependent module that deals with the details of the target high‐level language. http://www.deepdyve.com/assets/images/DeepDyve-Logo-lg.png Software: Practice and Experience Wiley

Loading next page...
 
/lp/wiley/decompilation-of-binary-programs-6Aj0hqb6Ff

References (27)

Publisher
Wiley
Copyright
Copyright © 1995 Wiley Subscription Services, Inc., A Wiley Company
ISSN
0038-0644
eISSN
1097-024X
DOI
10.1002/spe.4380250706
Publisher site
See Article on Publisher Site

Abstract

The structure of a decompiler is presented, along with a thorough description of the different modules that form part of a decompiler, and the type of analyses that are performed on the machine code to regenerate high‐level language code. The phases of the decompiler have been grouped into three main modules: front‐end, universal decompiling machine, and back‐end. The front‐end is a machine‐dependent module that performs the loading, parsing and semantic analysis of the input program, as well as generating an intermediate representation of the program. The universal decompiling machine is a machine‐ and language‐independent module that performs data and control flow analysis of the program based on the intermediate representation, and the program's control flow graph. The back‐end is a language‐dependent module that deals with the details of the target high‐level language.

Journal

Software: Practice and ExperienceWiley

Published: Jul 1, 1995

Keywords: ; ; ; ; ;

There are no references for this article.