ProgrammingThis forum is for all programming questions.
The question does not have to be directly related to Linux and any language is fair game.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
Are there programs that let you produce source code from a compiled binary? If I wrote a program in java, c, or c++, is there a way to get the source code back?
I lost some of the source code for programs that I wrote and need to modify the programs.
Location: Rome, Italy ; Novi Sad, Srbija; Brisbane, Australia
Distribution: Ubuntu / ITOS2008
Posts: 1,207
Rep:
Well, the only thing i know about, from windows world, is a dissasmbler. It will give you machine, AKA Assembly, code from a compiled program, and you can hack it and modify it if you are a uber geek and know assembly.
I don't think there are any programs that can give you source code from a binary.
-NSKL
Class files are in an intermediate form, which is why you need a virtual machine to read them. Try this:
strings AnyJavaFile.class
see the variable names are retained by the bytecode. There are many decompilers available for Java. Reverse engineering of code has never really been legal for commercial puposes (despite the DMCA - eugh!) but yeah sure, you can find out the source code at least for Java.
An easier way to find the source code for an Java applet on a website is to find the path to the class file and replace .class with .java - the original java file is usually kept right in the same directory as the class file. Free as in free beer! Hehe.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.