Topic: EXE to c++


Author: gillespi@cpcug.digex.net (Richard Gillespie Jr.)
Date: 23 Dec 1994 22:08:17 GMT
Raw View
Pulkkinen Esa (esap@mustarastas.cs.tut.fi) wrote:
: Eric Meijer (tgakem@ta0.chem.tue.nl) wrote:
: : 1) Write a little program generating all possible correct C++ programs.
: : 2) Compile and link these whith every conceivable C++ compiler, in all
: :    different memory models.
: : 3) Do a binary compare of the generated executables with your original one.
: : 4) If you find one that equals your original .EXE file, your done.

: Actually this "algorithm" for decoding a C++ program doesn't work. You also
: need to add to the 2) that you have to link the program with every conceivable
: library available for each compiler, and compile the program with all
: different option settings (like optimizations). Then the program might never
: appear in this list, because point 1) doesn't generate any programs that
: aren't correct, but may still compile and produce some code on some
: (non-conforming) compilers.
: --
You guys left out the monkeys.  You'll never get the variable name right
without an infinite number of monkeys keying away on an infinite number
of workstations and then passing the results through your algorithm.
         Merry Christmas,
           Richard Gillespie




Author: esap@mustarastas.cs.tut.fi (Pulkkinen Esa)
Date: 14 Nov 1994 11:48:58 GMT
Raw View
Eric Meijer (tgakem@ta0.chem.tue.nl) wrote:
: 1) Write a little program generating all possible correct C++ programs.
: 2) Compile and link these whith every conceivable C++ compiler, in all
:    different memory models.
: 3) Do a binary compare of the generated executables with your original one.
: 4) If you find one that equals your original .EXE file, your done.

Actually this "algorithm" for decoding a C++ program doesn't work. You also
need to add to the 2) that you have to link the program with every conceivable
library available for each compiler, and compile the program with all
different option settings (like optimizations). Then the program might never
appear in this list, because point 1) doesn't generate any programs that
aren't correct, but may still compile and produce some code on some
(non-conforming) compilers.
--
   Esa Pulkkinen                        | C++ programmers do it virtually
   E-Mail:  esap@cs.tut.fi              | everywhere with a class, resulting
   WWW   :  http://www.cs.tut.fi/~esap/ | in multiple inheritance.





Author: stanleyr@acf4.nyu.edu (Rick Stanley)
Date: 15 Nov 1994 14:09:49 GMT
Raw View
S1092848@cedarville.edu (James Tanner ) writes:
>I do know that the .EXE is written in Borland C++.
>So, I should just write a program in C++ program in Borland using all
>commands and then compare in binary.  Therefore, I will be able to decode
>the .EXE.  Is this correct?

>James Tanner

No James, this is impossible.  All information including all the identifiers,
is stripped out of the code, that there is no possible way to re-construct
the .exe into any form of C++ code.  Some programss exist to turn the .exe
into assembler, but I do not find these of any use at all.  Optimization
can also re-write a lot of your code.

If you have lost the source, it will require a rewrite the application.

Sorry!

--
Rick Stanley                         |              RSI
stanleyr@acf4.nyu.edu                |         (212) 740-6600
Information Technologies Institute   |        C++ & C Language
New York University   NYC, NY  USA   | Programming, Training, Consulting




Author: tgakem@ta0.chem.tue.nl (Eric Meijer)
Date: 10 Nov 1994 10:26:57 +0100
Raw View
S1092848@cedarville.edu (James Tanner ) writes:

>Is there a program that will take a c++ EXE files and change them into the
>actual program.  If so could you please mail it to me.

Actually, this is very simple:

1) Write a little program generating all possible correct C++ programs.
2) Compile and link these whith every conceivable C++ compiler, in all
   different memory models.
3) Do a binary compare of the generated executables with your original one.
4) If you find one that equals your original .EXE file, your done.

Easy as a pie, the _only_ complicating factor I can see is that a program
might be split up in different files.

Eric




Author: S1092848@cedarville.edu (James Tanner )
Date: Sat, 12 Nov 1994 15:45:24 GMT
Raw View
In article <tgakem.784459186@ta0.chem.tue.nl> tgakem@ta0.chem.tue.nl (Eric Meijer) writes:
>From: tgakem@ta0.chem.tue.nl (Eric Meijer)
>Subject: Re: EXE to c++
>Date: 10 Nov 1994 10:26:57 +0100

>S1092848@cedarville.edu (James Tanner ) writes:

>>Is there a program that will take a c++ EXE files and change them into the
>>actual program.  If so could you please mail it to me.

>Actually, this is very simple:

>1) Write a little program generating all possible correct C++ programs.
>2) Compile and link these whith every conceivable C++ compiler, in all
>   different memory models.
>3) Do a binary compare of the generated executables with your original one.
>4) If you find one that equals your original .EXE file, your done.

>Easy as a pie, the _only_ complicating factor I can see is that a program
>might be split up in different files.

>Eric
I do know that the .EXE is written in Borland C++.
So, I should just write a program in C++ program in Borland using all
commands and then compare in binary.  Therefore, I will be able to decode
the .EXE.  Is this correct?

James Tanner




Author: S1092848@cedarville.edu (James Tanner )
Date: Thu, 10 Nov 1994 02:42:07 GMT
Raw View
Is there a program that will take a c++ EXE files and change them into the
actual program.  If so could you please mail it to me.
Thanks in Advance,
James Tanner