8086 Disassembler Download Design [HOT]
DOWNLOAD --->>> https://fancli.com/2trC5p
DecompilersA decompiler tries to translate an object file into a compilablesource file. There are many decompilers for C# or Java,but only a few for C/C++. See in particular: Ghidra:An open-source decompiler developed by the U.S. National Security Agency,is an advanced interactive environment (seems inspired by IDA - below),for binary analysis and decompilation. It's written in Java, has a userinterface resembling the Eclipse IDE (in fact there's also a plug-in for Eclipse).I've analyzed its implementation (the decompiler is in C++) and it hasmany of the features I wanted to implement in my own decompiler (see REC, below).Users can write their own plug-in for target-specific analysis in eitherJava or python!Runs on Windows, Linux, MacOS, and supports many processors. New processorscan be added by writing text files to specify the processor architecture'sand its instruction set.Overall, an excellent work, which sets a new standard for decompilers. reko:Another open-source decompiler. Written in C#, it thus onlyrun on Windows, or on platforms supporting mono.It accepts binaries compiled for many processors. It has both a GUIwith all the standard views (disassembly, hexdump, C source, project),and can also be used from the command line. RetDec:Originally developed by the Brno University of Technology, Czech Republic,as an on-line service, and AVG Technologies, now part of Avast, it can be downloadedfrom a GitHub repository and run locally. I have not evaluated it, but at the time I had read the paper published by theBrno University team, and it seemed at the level of the other advanceddecompilers available at the time. C4Decompiler:(The original link seems to be dead. I'm leaving the description herein case it becomes available again - I think I have an old versiondownloaded on my hard-disk)A new decompiler under development. Windows only, has a slickuser interface inspired to Visual Studio 2010 with many usefulinteractions, that unfortunately are not always obvious. Onehas to right-click to discover them.The analysis seems very good, at least for the debug-compiledexample included in the installation. Trying it on random executablesfrom the Windows folder had mixed results, from completion of theanalysis to crashes to endless loops.Still it's very promising, as its authors haveclearly put a lot of thought and effort in its development. Boomerang:open source C decompiler. Very advanced set of analysesthat attempt to solve the most difficult problemsfacing decompilers. The generated code quality varies greatly:some functions are almost perfect in their representation of codestructure, local variables and types. Other functions look highlyobfuscated by the number of variables and their uses.It's also rather fragile, as it often crashes with big programs. REC:My own C decompiler for Linux, DOS and Windows.The first decompiler to work on multiple platforms and that supportsmultiple processors (x86 16 and 32-bits, MIPS, 680x0, PowerPC).It's very stable, as it's been tested with hundreds of programs.The quality of the output is not as good as Boomerang's,since its implementation is based on 20 years old coding style(read very difficult to extend). I've now published a new version,RecStudio 4, which supports 64-bit executables. It has not beentested on as many executables, so problems still remain. Also thedifferent analyses performed (SSA), generate totally differentcode that at times may seem of much worse quality (although it'sprobably more correct), than the code generated by the previousversion. Hex Rays:a decompiler plug-in for IDA Pro. The combinationwith IDA's advanced disassembly capabilities and run-time debuggermake it the ideal choice. However it's still very new, and requires IDA Pro.Unlike the others decopilers, it's not free.It also has to stand the test of time in terms of stability. Very promising. Dcc:DOS to C decompiler. One of the first decompilers. It shows its age,but it's still referenced by many other decompilers for itsstructuring abilities. Only supports 8086 (16 bits) programs. More on other decompilers at the Program Transformation Wiki on DecompilationHere's a comparison of the various decompilers: Decompiler Platform TargetsSupport Binary FormatSupport InteractiveBatch RecompilableOutput Structuring Variables Types Notes C4Decompiler Windows IA64 PE-COFF Interactive GUI No Very Good Good Fair Boomerang Windows/Linux IA32MIPSPPC ELFPE-COFFMac-OS Batch withGUI front-end No Very good Good Very good REC Windows/Linux IA32IA64MIPSPPCmc68k ELFPE-COFFAOUTRAWPS-X Batch / Interactive No Good Fair Partial dcc Windows 8086 DOS .com Batch No Good Fair Poor Hex Rays Windows Interactive Testing DecompilersThe quality of a decompiler is based on how good the code it generates is,and how well it performs in the presence of \"unexpected\" input.Particularly difficult problems are posed by the use of compiler optimizationswhich make the input code highly unstructured and difficult to understand, evenfor a human. Handling the following cases defines the quality of a decompiler:No information on symbol names in the binary file (stripped executable)Static vs. dynamically linked executable files (use pattern matching vs.dynamic linker information to identify access to library functions)
Extended mnemonics are often used to support specialized uses of instructions, often for purposes not obvious from the instruction name. For example, many CPU's do not have an explicit NOP instruction, but do have instructions that can be used for the purpose. In 8086 CPUs the instruction xchg ax,ax is used for nop, with nop being a pseudo-opcode to encode the instruction xchg ax,ax. Some disassemblers recognize this and will decode the xchg ax,ax instruction as nop. Similarly, IBM assemblers for System/360 and System/370 use the extended mnemonics NOP and NOPR for BC and BCR with zero masks. For the SPARC architecture, these are known as synthetic instructions.[26] 1e1e36bf2d