Displaying 1 to 20 from 34 results

dnSpy - .NET debugger and assembly editor

  •    CSharp

dnSpy is a debugger and .NET assembly editor. You can use it to edit and debug assemblies even if you don't have any source code available.The following pictures show dnSpy in action. It shows dnSpy editing and debugging a .NET EXE file, not source code.

Boomerang - Decompiler of Machine Code Programs

  •    C++

After a program has been thrown into the world in binary form, it can boomerang back as source code. The Boomerang reverse engineering framework is the first general native executable decompiler available to the public.

fernflower - Unofficial mirror of FernFlower Java decompiler (All pulls should be submitted upstream)

  •    Java

Fernflower is the first actually working analytical decompiler for Java and probably for a high-level programming language in general. Naturally it is still under development, please send your bug reports and improvement suggestions to the issue tracker. Fernflower is licenced under the Apache Licence Version 2.0.

ILSpy - .NET Decompiler

  •    CSharp

ILSpy is the open-source .NET assembly browser and decompiler. It supports decompilation to CSharp, VB.

fcd - An optimizing decompiler

  •    C++

Fcd is an LLVM-based native program optimizing decompiler, released under an LLVM-style license. It started as a bachelor's degree senior project and carries forward its initial development philosophy of getting results fast. As such, it was architectured to have low coupling between distinct decompilation phases and to be highly hackable. Fcd uses a unique technique to reliably translate machine code to LLVM IR. Currently, it only supports x86_64. Disassembly uses Capstone. It implements pattern-independent structuring to provide a goto-free output.

JADX - Dex to Java decompiler

  •    Java

Command line and GUI tools for produce Java source code from Android Dex and Apk files.

rz-ghidra - Deep ghidra decompiler and sleigh disassembler integration for rizin

  •    C++

This package only installs the rizin part. To use rz-ghidra from cutter, either use a provided pre-built release starting with Cutter 1.9, which bundles rz-ghidra, or follow the build instructions below. Here, ghidra.sleighhome must point to a directory containing the *.sla, *.lspec, ... files for the architectures that should supported by the decompiler. This is however set up automatically when using the rz-pm package or installing as shown below.

retdec - RetDec is a retargetable machine-code decompiler based on LLVM.

  •    C++

RetDec is a retargetable machine-code decompiler based on LLVM.Currently, we support only Windows and Linux.

python-uncompyle6 - A Python cross-version decompiler

  •    Python

A native Python cross-version decompiler and fragment decompiler. The successor to decompyle, uncompyle, and uncompyle2. uncompyle6 translates Python bytecode back into equivalent Python source code. It accepts bytecodes from Python version 1.5, and 2.1 to 3.7 or so, including PyPy bytecode and Dropbox's Python 2.5 bytecode.

FIDL - A sane API for IDA Pro's decompiler. Useful for malware RE and vulnerability research

  •    Python

This is a set of utilities wrapping the decompiler API into something sane. This code focus on vulnerability research and bug hunting, however most of the functionality is generic enough to be used for broader reverse engineering purposes. Release mode: pip install .

Silverlight Inspector

  •    Silverlight

Silverlight Inspector is a utility for inspecting Silverlight XAP files. Developers and designers can use it to view the visual tree of an application and/or control and view assemblies within a XAP.

decomp - Components of a decompilation pipeline.

  •    Go

The aim of this project is to implement a decompilation pipeline composed of independent components interacting through well-defined interfaces, as further described in the design documents of the project. From a high-level perspective, the components of the decompilation pipeline are conceptually grouped into three modules. Firstly, the front-end translates a source language (e.g. x86 assembly) into LLVM IR; a platform-independent low-level intermediate representation. Secondly, the middle-end structures the LLVM IR by identifying high-level control flow primitives (e.g. pre-test loops, 2-way conditionals). Lastly, the back-end translates the structured LLVM IR into a high-level target programming language (e.g. Go).

JRemapper - A remapping tool for compiled java programs.

  •    Java

An easy to use GUI for remapping classes, methods, and fields of compiled java programs.For information on how to use JRemapper and other details about it, check out the wiki.

luadec51 - Lua Decompiler for Lua version 5.1

  •    C

Lua Decompiler for Lua version 5.1

r2dec-js - radare2 plugin - converts asm to pseudo-C code. (experimental)

  •    Javascript

Converts asm to pseudo-C code. This example shows a possible dump of the plugin.

ScratchABlock - Yet another crippled decompiler project

  •    Python

A: A sad truth is that most decompilers out there are crippled. Many aren't able to decompile trivial constructs, others can't decompile more advanced, those which seemingly can deal with them, are crippled by supporting only the boring architectures and OSes. And almost every written in such a way that tweaking it or adding a new architecture is complicated. A decompiler is a tool for reverse engineering, but ironically, if you want to use a typical decompiler productively or make it suit your needs, first you will need to reverse-engineer the decompiler itself, and that can easily take months (or years). The central part of a decompiler (and any program transformation framework) is Intermediate Representation (IR). A decompiler should work on IR, and should take it as an input, and conversion of a particular architecture's assembler to this IR should be well decoupled from a decompiler, or otherwise it takes extraordinary effort to add support for another architecture (which in turn limits userbase of a decompiler).

SimpleSmali - 通过精简Smali语法细节来增强反编译代码阅读性,自定义了一种简单语法

  •    Java


Unreal-Library - UE Explorer's library for parsing data from games built with the Unreal Engine.

  •    CSharp

The Unreal library provides you an API to parse/deserialize package files such as .UDK, .UPK, from Unreal Engine games, and provide you the necessary methods to navigate its contents. Common sense tells me you'd like to test UE Library using an interface, luckily you can use the latest version of UE Explorer to use your latest build of Eliot.UELib.dll by replacing the file in the installed folder of UE Explorer e.g.

ILSpyMono - ILSpyMono is a demo project for compiling ILSpy as a CLI app for Mono framework on OS X and Linux

  •    CSharp

ILSpyMono is a demo project for compiling ILSpy as a CLI app for Mono framework. You can build this project from my ILSpy fork which includes it as git submodule. After cloning the ILSpy fork, make sure Mono.Cecil* projects have proper configuration (e.g. net_4_0_Debug) referenced in the solution settings.

vdexExtractor - Tool to decompile & extract Android Dex bytecode from Vdex files

  •    C

Command line tool to decompile and extract Android Dex bytecode from Vdex files that are generated along with Oat files when optimizing bytecode from dex2oat ART runtime compiler. Vdex file format has been introduced in the Oreo (API-26) build. More information is available here. It should be noted that Oat files are no longer storing the matching Dex files inside their .rodata section. Instead they're always paired with a matching Vdex file. The Vdex file includes all quick_info data (old vtable) required to revert the dex-to-dex transformations applied during bytecode optimization. The idea here is to create a quick standalone tool capable to revert optimized bytecode, that does not require building the entire libart from AOSP.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.