delorie.com/archives/browse.cgi   search  
Mail Archives: cygwin/1998/07/11/07:12:05

From: Fred DOT Reimer AT bellsouth DOT net (Fred Reimer)
Subject: Re: Decompile...
11 Jul 1998 07:12:05 -0700 :
Message-ID: <003f01bdac17$99ddd800$3502280a.cygnus.gnu-win32@vhasecure.net>
Mime-Version: 1.0
To: <tolj AT uni-duesseldorf DOT de>, "Marcel R." <marshall AT cwb DOT matrix DOT com DOT br>
Cc: <gnu-win32 AT cygnus DOT com>

I don't know about this.  I've thought of it many times in the past, and I
don't see a reason why it can't be done.  Obviously, it's possible to
disassemble an exe.  The asm that compilers create usually have to adhere to
specific standards so that the resulting code can be linked with other
vendor's libraries, etc.  Windows code has additional "restrictions" over
and above what the standard C standard has (and I mean the linking standard
that everyone uses, not necessarily in the C "standard").

I would think that it would be possible to create cryptic C code for an exe
that at least shows the types of variables passed between functions and the
auto variables used within the function in addition to the general flow of
the function.  If you backtrace from calls to the Windows API, you can
extrapolate what types of structures are passed from the user code.  Of
course, all the variable names would be pretty meaningless, unless whoever
made the exe left the symbols in it.  But Windows may make it simpler, with
it's "standardized" variable naming system (i.e., lpszString1).

I don't mean to make it sound easy, but I don't agree that it's impossible,
just impractical


-----Original Message-----
From: Stipe Tolj <tolj AT uni-duesseldorf DOT de>
To: Marcel R. <marshall AT cwb DOT matrix DOT com DOT br>
Cc: <gnu-win32 AT cygnus DOT com>
Date: Friday, July 10, 1998 6:21 AM
Subject: Re: Decompile...


>Marcel R. wrote:
>>
>> Hi 4 all...
>> I want to know if there is some way to "Decompile" a file... I mean, get
a
>> exe file and make it be a cpp file, and view the code to do some things
>> that the program do...
>> Thanks...
>
>no way. A binary (exe) file consists of assembler instructions for the
>cpu. Their is no way to "decompile" the compiled and linked file to an
>source code file, since the function f: source -> binary is not
>injective so say it in mathematical terms.
>
>The only way to find out "what" a binary file does is to disassembler
>it, and perform aseemlber instructions step by step, controlling the cpu
>registers and assembler registers that change within execution of the
>analyzed program.
>
>PS: If it would be possible to "decompile" exes to source code files, I
>would be the first to "decompile" windows 98 and modify a bit to sell it
>under an other name.
>
>Regards, Stipe.
>
>--
>stud.rer.pol. Stipe Tolj <tolj AT uni-duesseldorf DOT de>
>HTTP Server Development Management
>Department of Economical Computer Science
>University of Cologne, Germany
>http://www-public.rz.uni-duesseldorf.de/~tolj
>
>
>-
>For help on using this list (especially unsubscribing), send a message to
>"gnu-win32-request AT cygnus DOT com" with one line of text: "help".
>

-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request AT cygnus DOT com" with one line of text: "help".

- Raw text -


  webmaster     delorie software   privacy  
  Copyright © 2019   by DJ Delorie     Updated Jul 2019