This is the mail archive of the cygwin@sourceware.cygnus.com mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Re: Decompile...


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@uni-duesseldorf.de>
To: Marcel R. <marshall@cwb.matrix.com.br>
Cc: <gnu-win32@cygnus.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@uni-duesseldorf.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@cygnus.com" with one line of text: "help".
>

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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]