DisC – Decompiler for Turbo C 2.0/2.01 (source) A decompiler specifically for programs built using Borland Turbo C 2.0 and 2.01 (which is offered as a free download by Embarcadero). DoDi’s Visual Basic 3/4 Decompiler for Windows The site refers to this freeware tool as a Visual Basic 4 decompiler, but the tool is originally for decompiling Visual Basic 3 and, if the newer version is limited to Visual Basic 4, the site also provides links for earlier versions specifically intended for Visual Basic 3.
The release notes on GitHub mention adding support for NE-format EXEs (Windows 3.x and OS/2), SEGA Genesis, SEGA Dreamcast, NeoGeo, partial support for Atari-TOS, and improving support for MacOS Classic (though I couldn’t find the initial mention of adding it). (For languages which compile to machine code, you get something half-way between assembly language and the original source code, because the compiler threw out various higher-level details which would be needed to perfectly reconstruct the original source.) Reko for Windows According to the old SourceForge page (which has screenshots), this open-source decompiler’s list of noteworthy supported formats includes MS-DOS, Win32 and AmigaOS.
#LINUX DISASSEMBLER CODE#
This may be the normal state of things if the language doesn’t compile to machine code or it may be a convenience accomplished by looking for patterns of machine instructions that are known to come from specific higher level constructs like for and function calls. Decompilersĭecompilers attempt to retrieve something higher-level than assembly language from a program.
#LINUX DISASSEMBLER ARCHIVE#
The ‘Executable compression’ section of the Archive Team wiki A list of DOS (and some Windows 3.1x) executable packers, some with the ability to unpack what they’ve packed. archive of the Wayback Machine’s October 2002 archive of this site contains a huge list of more esoteric unpacking tools. UPX for all major platforms The most popular executable packer today and also capable of unpacking its own creations, assuming they haven’t been modified to obscure their nature. Universal Extractor for Windows A tool which combines code and algorithms from a great many unpacking tools not covered by UNP into one convenient package… including various tools for unpacking installers without running them. UNP for DOS A now-unmaintained but open-source utility which will handle the vast majority of packed executables for DOS and Windows 3.x. When it comes to reverse-engineering, packed/protected executables must be unpacked/unprotected before utilities which operate on the on-disk form of the program will return useful results. (Aside from JavaScript minifiers, for which an effect similar to a decompiler can be achieved using a code beautifier.) They still see use to this day, but exponential decline in the cost of storage space, combined with the risk of false positives from virus scanners, has reduced the demand for this sort of software. In the days of DOS and Windows 3.x, executable packers and code protectors like PKLite and PackWin were a common means of saving precious disk space, as well as deterring casual inspection of an executable by novices with tools like DEBUG.COM. Reverse Engineering for Beginners by Dennis Yurichev.