Not really. There are a number of dex disassembler/decompiler suites out there such as smali, or dex2jar that will generate semi-humanreadable output (in the case of dex2jar, you can get java code through the use of something like JD-GUI but the process is not perfect and it is very unlikely that you'll be able to 100% recreate your source code. However, it could potentially give you a place to start rebuilding your source tree.
One of the killer features of Ghidra that sets it apart from many of the other reverse engineering tools out there is thefree decompiler that comes bundled with it. This presents the program back to you as a C-langauge program, complete withthe ability to be parsed by a C-language compiler, and, in some cases, even recompiled.
Frontend plus java decompiler free
Download: https://urllio.com/2vzQ4R
6. What about obfuscated binary code?If the input file is obfuscated (deliberately arranged to makedecompilation difficult), then obviously it's harder again. In myopinion (yet to be tested), no obfuscation scheme is impossible to defeat,and in fact I think that any obfuscation will be about as successfulas the copy protection schemes of the 1980s (i.e. not very successful at all).Of course, that's just my opinion. The reality of the matter atpresent is that Boomerang can't even decompile non-obsfucated programs with avery high degree of success. Trivial obsfucation techniques, likeencrypting the whole program and decrypting it in memory, are beyondour intended aims for this project (self modifying code is evil,we don't claim to be able to decompile it and we don't really everintend to). The more sophisticated code obsfucation techniques, likepolymorphic encryptors/decryptors, are a level of magnitude harder.Maybe one day someone will write a "deobsfucator" for binary programsand you'll be able to run that over your binary before you trydecompiling it, but it won't be us.7. Is decompiling from binaries as easy as decompiling Java or Visual Basic programs?No. Java bytecode programs have a lot of information in them, such as thename (including class name) of every method. In fact, about all that is missingin a bytecode program are the comments, and the names (and types) of localvariables. Visual Basic programs, for some reason that some regard as suspicious,have even more information in the executable file (more than seems to beneeded, for example). There are a number of successful Java and Visual BasicDecompilers, both free and commercial, that do a good job of recovering ausable source code for the program.Binary files are a totally different situation. Usually, there is no debugginginformation in them. However, dynamically linked library functions are usuallyreferenced by name, so they are available. Often, library function parametertypes are known, so there is more information. Statically linked libraryfunctions can sometimes be recognised using pattern matching. Binary filescan also include difficult to handle instructions, such as register (or memoryindirect) jumps and calls. Overall there is far less information in a binaryfile; this is why decompilation of binary files has stayed in its infancyfor so long.8. Won't the availability of a good decompiler threaten the software industry?I doubt it very much. First of all, it's a lot of work to decompile a program,and that won't change unless artificial intelligence improves dramatically(and then it would probably be easier to get a computer program to writea new program than to decompile an old one!) Secondly, source code isn'teverything. A high level representation of a program isn't the same as understandingthat program (well, it may be if you put a very large effort into the decompilation).9. How do I go about contributing to Boomerang?First, and most obviously, you should check the source code out of cvs,compile it and try using it for a while. I'm sure you'll find plenty ofthings that are "broken" or not done the way you would like.Also read the things to be done page.If youwould like to fix something we would be interested in hearing from you,after you've fixed it. For new developers we request that you submit apatch. Patches should be submitted by email and should include: A meaningful subject (very short description of patch)
A long (paragraph) description of what was wrong and what is nowbetter (and now broken)
Change Log: A short description of what was changed.
Your contact information ( Name/Handle and e-mail )
The patch in diff -u format.
Your changes (and the items above describing them) should be for onething. Don't try to submit a patch to us with all your favourite littlehacks because we won't even look at it. If in the course of usingBoomerang you find and fix 10 bugs we would much prefer 10 patches than1 big one. Essentially, the smaller your patch and the better yourdescription of your patch, the more likely we are to accept it. 2ff7e9595c
Komentarze