View Full Version : Source Code
recreatif
12-20-2006, 10:32 PM
How would I go about getting the source code for an .exe program so that I could edit it using C++? :confused:
djr33
12-21-2006, 02:18 AM
It's compiled. You can't just "undo" that.
However, there are programs out there called "decompilers", so see if you can find one that will work.
I don't know, though, if there are any that work well for .exe's. For example, I know there are some for .swf (flash files).
The other problem is that even if you did decompile it, the likelihood that it is done with C++ is low. Most programming, from what I have heard, is done with java for actual programs. C++ may be used, but I'd think only for smaller apps. But, who knows.
And, of course, this doesn't take into account the fact that decompiling and altering (reverse engineering) is almost always against the TOS for any programs that get distributed (yes, even freeware). There is a reason for the term "open source".
mwinter
12-21-2006, 02:52 AM
It's compiled. You can't just "undo" that.
Getting the literal source code of some higher-level programming language from machine code isn't possible, but automated analysis can provide some abstraction. From other languages, such as Java, decompilation can be more successful. In general, the process will depend on optimisation performed during the compilation phase as this can destroy patterns that might have otherwise translated into language statements.
The other problem is that even if you did decompile it, the likelihood that it is done with C++ is low. Most programming, from what I have heard, is done with java for actual programs. C++ may be used, but I'd think only for smaller apps. But, who knows.
I have several Java applications on this machine, but they are far outnumbered by software that runs natively. That doesn't mean to say that the latter are written in C++, but it's quite possible.
The choice of language depends on many factors, from compiler support across platforms to the existing library base, from developer expertise to continuing legacy code. Java is portable, but relatively slow and with a large memory overhead making it quite unsuitable for some applications.
Mike
djr33
12-21-2006, 07:43 AM
I'm not suggesting they are "Java" applications, but that they were originally programmed with Java then compiled as exes. From what I hear, Java is the standard for the application development industry.
Even if C++ is used some, then let's just say it's a 50:50 chance that it even was made in C++.
I'm not suggesting they are "Java" applications, but that they were originally programmed with Java then compiled as exes.Thus removing Java's main advantage, its portability? Doesn't sound like a particularly good strategy to me. Perhaps a native wrapper might be used to install the program and/or run it to avoid using JARs, but compiling an entire Java program to a native form, whilst theoretically possible, would be a really stupid move (for a start, one would have to compile all the built-in Java libraries to a native form too).
From what I hear, Java is the standard for the application development industry.There is no standard for the application development industry. C++ is currently (from what I've seen) quite common, as is (at the moment, and only for Windows applications) Delphi. C also retains some popularity. Java has a fairly small corner of the market; its greatest use at the moment seems to be in Web applications.
djr33
12-22-2006, 03:26 AM
Huh? From what I've heard, applications like photoshop, ms word, etc. are made with Java. I might be wrong here. But that's what I've heard. Not that I know about specific applications.
mwinter
12-22-2006, 02:01 PM
I'm not suggesting they are "Java" applications, but that they were originally programmed with Java then compiled as exes.
It's feasible, but pointless, really. Java, as a language, is not better than other OO languages. It would be simpler to use C++, which also offers more power.
Huh? From what I've heard, applications like photoshop, ms word, etc. are made with Java.
Highly unlikely.
Mike
Microsoft Office and Adobe Photoshop are both native, although the former is trying to move to .NET. Perhaps you're getting confused with OpenOffice, which uses Java fairly extensively (although not exclusively).
djr33
12-23-2006, 01:39 AM
I'm not confusing it with anything. I was just giving examples of the type of application I meant. My source is, I believe, the programming teacher at my Hs, who may not know enough about the field. He's a great guy, and knows a lot about his stuff, but not necessarily about higher end things.
Powered by vBulletin® Version 4.2.2 Copyright © 2021 vBulletin Solutions, Inc. All rights reserved.