|RE: reverse compilation FELDBUSCH@iravcl.ira.uka.de (1989-07-15)|
|Date:||Thu, 27 Jul 89 10:57 MET|
I recently posted a news message because I was looking for information about
decompilation. Many thanks to all the people sending me email, they helped me
a lot. I promised to summarize the answers in comp.compilers. I found some
additional sources of information about structuring of programs that I want to
include as well.
Robert S. Arnold
Proc. of the IEEE, Vol. 77, No. 4, April 1989, pp. 607 - 617
Edward Ashcroft, Zohar Manna
The Translation of `GOTO` Programs to `WHILE` Programs
Information Processing 71, North Holland Publishing Company, 1972, pp. 250 - 255
R. C. Linger, H. D. Mills, B. I. Witt
Structured Programming: Theory and Practice
Addison Wesley, 1979, pp 118 - 126
Fridtjof Feldbusch, FELDBUSCH@IRA.UKA.DE
From: IN%"email@example.com.EDU" "David Keppel" 20-JUL-1989 07:37:34.77
There is a very VAX and PCC C-specific decompiler. You can get a copy by
anonymous ftp from june.cs.washington.edu (126.96.36.199). Login `anonymous'
password == your user name, get the file pub/decomp.ar.Z. Be sure to use
`binary' mode. If you are lacking anonymous ftp, `ar' or `compress', I can
send you a copy in your favorite format.
To give credit where due, the program was written by Jim Reuter for porting
`Empire' from Un*x to VMS (!).
The output is not a syntactically correct C program, but gets pretty close.
Hope this helps!
;-D on ( Don't just *talk* about reverse engineering! ) Pardo --
From: IN%"firstname.lastname@example.org.NET" "Andy Turk" 20-JUL-1989 17:03:46.39
A guy I used to work with came up with a very clever method for decompiling
Prolog. The technique is based on the WAM (Warren Abstract Machine)
architecture, but could probably be extended to other Prolog implementations
as well. However, I doubt that his idea would scale up to non-logic based
languages. Here's the reference:
Fast Decompilation of Compiled Prolog Clauses
Kevin A. Buettner
Proceedings of the 3rd Int'l Conference on Logic Programming
Springer Verlag (225), 1986
From: IN%"eggert@twinsun.COM" "Paul Eggert" 20-JUL-1989 17:03:50.67
Your might try John Banning and Hans Pufal's NLZ program, which is part of
Hunter Systems's XDOS suite. You can use it to decompile PC applications and
port them to Unix workstations. Contact
444 Castro St
Mountain View, CA 94041, USA
-- Paul Eggert, Twin Sun, Inc. <email@example.com>
From: IN%"firstname.lastname@example.org.EDU" "Peter C. Damron" 20-JUL-1989
Here are the few references from my bibliography.
Hope this helps,
Peter C. Damron
Dept. of Computer Science, FR-35
University of Washington
Seattle, WA 98195
(how to get here from Europe I have no idea!)
%A U. Lichtblau
%T Decompilation of Control Structures by Means of Graph Transformations
%J LNCS; V 185; D 1985; P 284-297
%X lecture notes in computer science, springer-verlag
%A G. L. Hopwood
%R Ph.D. Dissertation
%I University of California, Irvine
%D FEB 1978
%T A Study of Decompiling Machine Languages into High-Level Machine Independent
%A Barron Cornelius Housel, III
%R Ph.D. Dissertation
%I Purdue University
%D AUG 1973
%T A Definition Optimization Technique Used in a Code Translation Algorithm
%A David M. DeJean; A George W. Zobrist
%J CACM; V 32; N 1; D JAN 1989; P 94-105
From: IN%"email@example.com.COM" 21-JUL-1989 00:33:26.60
Your recent submission to the comp.compilers newsgroup
asked for references regarding decompilation.
Frank L. Friedman.
Decompilation and the Transfer of Mini-Computer Operating Systems.
PhD dissertation, Dept of Computer Science, Purdue, 8/74.
From: IN%"worley@compass.COM" "Dale Worley" 21-JUL-1989 01:03:22.72
There at least used to be (>10 years ago) a product that would take
object programs (for IBM 360s?) and turn them into Cobol. (Probably
really stupid Cobol.) Apparently it was for the large number of
operations that had programmed in assembler, but had lost the
Dale Worley, Compass, Inc. firstname.lastname@example.org
Civilization ends at the water's edge. On the ocean, you enter the food chain,
and not necessarily at the top.
From: IN%"email@example.com" 22-JUL-1989 06:41:04.73
Title: An Algorithm for Structuring Flowgraphs
Author: Brenda S. Baker
Source: JACM 24:1; 98,120 (Jan 1977)
"This paper describes an algorithm which transforms a flowgraph into a
program containing control constructs such as IF THEN ELSE statements,
REPEAT (DO FOREVER) statements, multilevel BREAK statements (causing
jumps out of enclosing REPEATS)."
Ray Tigg | Cognos Incorporated
| P.O. Box 9707
(613) 738-1338 x5013 | 3755 Riverside Dr.
UUCP: firstname.lastname@example.org | Ottawa, Ontario CANADA K1G 3Z4
From: IN%"ndmh!rahe@uni-dortmund.DE" 27-JUL-1989 02:31:29.39
Yes, I have some articles about decompilation.
At the University of Dortmund, there was a student project
about decompilation from Assembler to Pascal in 1979-1980.
After this project I myself worked on a compiler from Basic to Pascal with
another student as master thesis and
there was at least another project on decompilation (I think it was Cobol
Here are the articles, we mentioned in our master thesis:
Decompilation and the Transfer of Mini-Computer Operation Systems
Diss., Purdue University, Lafayette, 1974
Decompilation of Object Programs
Diss., Stanford University, 1973
A Study of Decompiling Machine Languages into High-Level Machine
Diss., Purdue University, Lafayette, 1973
Housel, B.C., Halsted, M.H.
A Methodology for Machine Language Decompilation
Proceedings of the ACM Annual Conference, 1974
A Computer Program to Translate Machine Language into FORTRAN
AFIPS Conference Proceedings, Vol. 28, S.J.C.C., 1966
and two articles in German:
Endbericht der Projektgruppe Umkehrcompilierung I
University of Dortmund, W-Germany, Abteilung Informatik, Lehrstuhl II, 1980
Moellers, P. , Heinemann,R.
Entwurf und Implementierung eines Compilers von BASIC nach PASCAL
Diplomarbeit, University of Dortmund, W-Germany, 1980
Norsk Data GmbH
Solinger Str. 9
Tel: ++49 208 4844 253
Return to the
Search the comp.compilers archives again.