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

  •        320

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.

https://github.com/anestisb/vdexExtractor

Tags
Implementation
License
Platform

   




Related Projects

redex - A bytecode optimizer for Android apps

  •    C++

ReDex is an Android bytecode (dex) optimizer originally developed at Facebook. It provides a framework for reading, writing, and analyzing .dex files, and a set of optimization passes that use this framework to improve the bytecode. An APK optimized by ReDex should be smaller and faster than its source.Getting these dependences is easiest using a package manager.

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.

pycdc - C++ python bytecode disassembler and decompiler

  •    C++

Decompyle++ aims to translate compiled Python byte-code back into valid and human-readable Python source code. While other projects have achieved this with varied success, Decompyle++ is unique in that it seeks to support byte-code from any version of Python. Decompyle++ includes both a byte-code disassembler (pycdas) and a decompiler (pycdc).

dexmaker - A utility for doing compile or runtime code generation targeting Android's Dalvik VM

  •    Java

A Java-language API for doing compile time or runtime code generation targeting the Dalvik VM. Unlike cglib or ASM, this library creates Dalvik .dex files instead of Java .class files.It has a small, close-to-the-metal API. This API mirrors the Dalvik bytecode specification giving you tight control over the bytecode emitted. Code is generated instruction-by-instruction; you bring your own abstract syntax tree if you need one. And since it uses Dalvik's dx tool as a backend, you get efficient register allocation and regular/wide instruction selection for free.

bytecode-viewer - A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)

  •    Java

A Java 8 Jar & Android APK Reverse Engineering Suite (Decompiler, Editor, Debugger & More)


Flasm - a Flash bytecode assembler

  •    C

Flasm is an assembler/disassembler for Flash actionscript bytecode. Using flasm, script authors may learn how actionscript compiler and Flash Player virtual machine work, and tweak the compiled bytecode in SWF files for performance.

GCJ

  •    C

GCJ is a portable, optimizing, ahead-of-time compiler for the Java Programming Language. It can compile Java source code to Java bytecode (class files) or directly to native machine code, and Java bytecode to native machine code.

JADX - Dex to Java decompiler

  •    Java

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

TurboDex - fast load dex in memory.

  •    C++

It is generally known that load an unoptimized Dex file at runtime in Android (especially in ART mode) would take a long time. When your App is using MultiDex or PluginFramework, You will find that this problem is hard to bear. TurboDex was born to solve this problem, Like to opens the god mode for AndroidVM, after using TurboDex, no matter how much Dex file your need to load, it will be finished in a very short time.

TechTrader Bytecode Toolkit

  •    Java

The TechTrader Bytecode Toolkit is a high-level set of APIs for manipulating java bytecode. It is primarily targeted at making runtime and/or compile-time enhancements to existing java classes, or creating new java classes on the fly.

jclasslib - jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode

  •    Kotlin

jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read and write Java class files and bytecode. There is a plugin for IntelliJ IDEA that can be installed via the plugin manager. The action in the "View menu" can be invoked when a Java, Groovy or Kotlin file is open in the editor.

undx

  •    Java

Undx is a bytecode translator, it converts the bytecode for the dalvik vm (a virtual machine for android applications) to standard java bytecode.

ASM - Java bytecode manipulation and analysis framework

  •    Java

ASM is an all purpose Java bytecode manipulation and analysis framework. It can be used to modify existing classes or dynamically generate classes, directly in binary form. Provided common transformations and analysis algorithms allow to easily assemble custom complex transformations and code analysis tools.

dexposed - dexposed enable 'god' mode for single android application.

  •    Java

Dexposed is a powerful yet non-invasive runtime AOP (Aspect-oriented Programming) framework for Android app development, based on the work of open-source Xposed framework project.The AOP of Dexposed is implemented purely non-invasive, without any annotation processor, weaver or bytecode rewriter. The integration is as simple as loading a small JNI library in just one line of code at the initialization phase of your app.

Bytecode Translator: A translator from .NET bytecode to Boogie

  •    

Bytecode Translator is a translator from .NET bytecode to Boogie.

jclasslib bytecode viewer

  •    Java

jclasslib bytecode viewer is a tool that visualizes all aspects of compiled Java class files and the contained bytecode. In addition, it contains a library that enables developers to read, modify and write Java class files and bytecode.

CodenameOne - Write once run anywhere native mobile apps using with Java 8 or Kotlin

  •    Java

Codename One is a mobile cross platform environment for Java and Kotlin developers. It can compile Java bytecode to native OS executables (iOS, Android, UWP etc.). It is a complete mobile platform featuring virtual machines, simulator, design tools (visual theme/builder), IDE integrations, ports to multiple OS's and much more. It provides full access to the underlying native OS code (e.g. Objective-C, C#, Dalvik/ART) thru a portable abstraction which enables 100% code reuse.Codename One is the only platform that...

JC Virtual Machine - Converts Java to C

  •    Java

JC Virtual machine converts Java class files to C source code. It could also compiles with GCC and loads them with built-in ELF loader. Additional to that, JC provides a complete Java runtime with optimization to increase performance.

dedexer

  •    Java

Dedexer is a disassembler tool for Android DEX files. The purpose is to create Jasmin-like source files from DEX files.