Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > C++ > New Newbie question , decompiling C++

Reply
Thread Tools

New Newbie question , decompiling C++

 
 
Juda
Guest
Posts: n/a
 
      07-01-2003
I know you have heard this a thousand times before, and I am not
asking where I can get a program to decompile C++. How to decompile
C++, or whether anyone knows about of any information on decompiling C++.

I am asking, will it ever be possible to decompile C++.


--
The truth depends on, or is only arrived at by, a legitimate
deduction from all the facts which are truly material.
Whispering tongues can poison truth. --Coleridge

Reality is a figment of the imagination for a k00k.
- Juda
 
Reply With Quote
 
 
 
 
Stuart Golodetz
Guest
Posts: n/a
 
      07-01-2003
"Juda" <(E-Mail Removed)> wrote in message
news:(E-Mail Removed)...
,---------------------------------------------------------------------------
------------------------------------.
|---[From: Aggro <(E-Mail Removed)>:
|---[Date: Tue, 01 Jul 2003 05:00:10 GMT:
|---[news:comp.lang.c++:
|---[wrote:
|
|---Juda wrote:
|---> I know you have heard this a thousand times before, and I am not
|---> asking where I can get a program to decompile C++. How to decompile
|---> C++, or whether anyone knows about of any information on decompiling
C++.
|--->
|---> I am asking, will it ever be possible to decompile C++.
|---
|---Yes, you can decompile C++ into Assembly, no problem there. But you
|---can't decompile C++ to original C++ code, unless you for example save
|---the full source code into compiled program, for debug information. There
|---is just too much information lost during the compilation.

> What do you make of this? http://www.sourcerecovery.com/


> Do you think in a few year that someone very talented may be able to

decompile
> C++? Or is this never going to be possible.


It's not that no-one's talented enough to do it, it's that it's technically
impossible to recover the original source file from the executable. It's
theoretically possible (though exceedingly difficult with something like
C++) to get *a* source file out, which when recompiled would give you the
same executable you started with. However, it will never be the original
source file because you've lost too much information in the compilation
process (see Charles LaCour's post for an example).

> Someone I know once stated "If it can be compiled, it can be decompiled"
> Do you believe this statement? Or do you think it is an incorrect

assertion?

The thing is, can it be compiled to anything vaguely useful? It's not much
good if it decompiles your code to something a bit like this:

// Slightly exaggerated example
void f1232412312312(int a32132198490, int a32132188490)
{
//...
}

Who'd want to read through and decipher thousands of lines of that?

HTH,

Stuart.

> --
> The truth depends on, or is only arrived at by, a legitimate
> deduction from all the facts which are truly material.
> Whispering tongues can poison truth. --Coleridge


> Reality is a figment of the imagination for a k00k.
> - Juda



 
Reply With Quote
 
 
 
 
-linux_lad
Guest
Posts: n/a
 
      07-01-2003
Juda wrote:
> I know you have heard this a thousand times before, and I am not
> asking where I can get a program to decompile C++. How to decompile
> C++, or whether anyone knows about of any information on decompiling C++.
>
> I am asking, will it ever be possible to decompile C++.
>


This question is probably not appropriate for this for this group, and has already
been asked a million times, but for the sake of completeness, I'll cover it again.
C++ is not now, and is unlikely to ever be subject to "decompilation" as it is
commonly defined. As I have already stated in the other newsgroup, retrieving source
code from a compiled object would require an astronomical degree of effort. Yes, you
can view the assembler in any compiled object, but that is essentially meaningless.
Assembler is just the language the compiled object uses to talk to the computer,
it's not C++ source code and cannot be used to extrapolate the source code in any
meaningful way. When a C++ source file is compiled, lots of things happen that are
intimately dependant upon the relationship between the compiler, the host machine,
and the options passed to the compiler. Accurately predicting all of these variables
would be like predicting the lottery. Yes, some people claim to have decompilers,
and some people claim to have been present when the object was reduced to source
code, and some people have been able to extrapolate the behavior of a trivial app
and write source which mimics the original application, but I can assure you that
there has been no successful decompilation of any application of substance. If
someone claims to have witnessed or taken part in this, they probably saw an
academic demonstration..that means that the outcome was known before the
demonstration was concocted. If such a product existed, there would be no software
industry because no one would be able to make any money. If it were possible (even
nominally) to decompile a C++ or Delphi or Visual Basic 5+ applications, there would
be no "warez" scene, no "cracks" and no "serials". Anyone who wanted to could just
remove the registration mechanism. There would be no Microsoft, No Novell, and no
Oracle either. No software publisher could survive if their products could be
converted to source code.

Simply put, decompilation is like time travel, is only a concept at the moment. It
may be possible in the distant future if some miraculous new tool is developed, but
that is about as likely as finding a terminating number for pi...it may exist, we
can't prove it doesn't, but it's beyond our capability at this time.

--
-linux_lad
To verify that this post isn't forged, click here:
http://www.spoofproof.org/verify.php...6a97339b4998dd


 
Reply With Quote
 
John Carson
Guest
Posts: n/a
 
      07-02-2003
"-linux_lad" <john at linuxlad dot org> wrote in message
news:(E-Mail Removed)
>
> Simply put, decompilation is like time travel, is only a concept at
> the moment. It may be possible in the distant future if some
> miraculous new tool is developed, but that is about as likely as
> finding a terminating number for pi...it may exist, we can't prove it
> doesn't, but it's beyond our capability at this time.
>


No terminating number for pi exists. This was proved in 1768.

http://www-groups.dcs.st-and.ac.uk/h...s/Lambert.html


--
John Carson
1. To reply to email address, remove donald
2. Don't reply to email address (post here instead)


 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
decompiling c++ programs davy.zou@brentwood.bc.ca C++ 7 04-04-2007 06:33 PM
jad error decompiling 1.5 code grasp06110@yahoo.com Java 4 12-29-2006 04:16 PM
decompiling class, jar & native executables? Sue Java 1 06-07-2005 03:14 PM
Troll Alert: Decompiling a Visual C++ Application E. Robert Tisdale C++ 2 06-23-2003 09:18 PM
Re: Decompiling a Visual C++ Application Shane McDaniel C++ 0 06-23-2003 08:55 PM



Advertisments