Decompilation is a ProgramTransformation by which a high-level source code for an executable program is discovered. Decompilation is the inverse of ProgramCompilation. Decompilation techniques were initially used in the 1960s to aid in the migration of programs from one platform to another. Since then, decompilation techniques have been used to aid in the recovery of lost source code, debugging of programs, locating of viruses, comprehending programs, recovery of high-level views of programs, and more; see WhyDecompilation. ---+++ Introduction * The LegalityOfDecompilation and [[legal issues]] of [[reverse engineering]] * [[DecompilationPossible][Is it possible?]] * [[Why Decompilation]]? * [[History Of Decompilation 1]] (1960-1979) * [[History Of Decompilation 2]] (1980-1999) * [[History Of Decompilation 3]] (2000-present) * The [[Decompilation Process]] * [[Decompilation And Reverse Engineering]] ---+++ Decompilers Decompilers are categorised by the types of programs that they will decompile. A decompiler might not emit code in the same language that the original program was written in. * [[MachineCodeDecompilers][Machine code]] * [[AssemblyDecompilers][Assembly language]] * [[DelphiDecompilers][Delphi]] * [[VisualBasicDecompilers][Visual Basic]] * [[JavaDecompilers][Java bytecodes]] * [[DotNetDecompilers][.NET bytecodes]] * [[PythonDecompilers][Python bytecodes]] * [[FoxbaseDecompilers][Foxbase/FoxPro]] * [[DecompilationCompilerSpecific][Specific compiler generated programs]] ---+++ Services offered and wanted * [[Companies Offering Decompilation Services]] * [[Decompilation Help Wanted]] * I want an [[Automatic Decompiler]] ---+++ Related Areas * [[DisAssembly][Disassembly]] * [[Binary Translation]] * [[Program Obfuscation]] * [[Tamper Resistant Software]] ---+++ Theory * Machine code patterns that are [[Impossible To Decompile]] automatically * Why [[DecompilerInteraction][user interaction]] might be needed ---+++ Recently changed pages * [[Anatomizer Decompiler Test]] * [[Decompiler Interaction]] * A [[BobStoutRefutation][refutation]] of [[BobStoutOnDecompilation][Bob Stout's FAQ on decompilation]] ---+++ Other * DecompilationResources (peripherally related) * For a site map, see CategoryDecompilation * [[ReferencingDecompilationWikiPages][Referencing]] these pages * [[AboutDecompilation][About]] these pages | *Please feel free to keep these pages up to date!* | | Just select Edit from the Page menu near the top of every page. However, you do need to [[TWiki.TWikiRegistration][register]] and to become a member of the [[Main.TransformGroup][Transform Group]] now; see AboutDecompilation for more details. | CategoryDecompilation | CategoryReverseEngineering | CategoryEntryPoint