Skip to content


Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Reverse-engineering tools for Android applications
branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
ddx2dot Default to writing dot source if no extension is given.


Reverse Android: Some miscellaneous Android reverse-engineering tools.

This repository contains some tools I've written for reverse-engineering Android
applications, as well as any that I may write in the future.

You can find the initial announcement of these tools on my blog:

The contents so far are:

- ddx.el: An emacs mode for working with Android assembly. Includes two related
  modes, ddx-mode and smali-mode, for working with the output of Dedexer
  ( and baksmali
  ( The mode was written for reading decompiled
  assembly, but may also be useful for people writing smali assembly.

- ddx2dot: A Python script for rendering methods in dedexer-produced assembly
  files to control-flow graphs using dot (

  Usage is 'ddx2dot FILE.ddx METHOD-NAME OUT-FILE'

  METHOD-NAME should be a prefix of the fully type-qualified name of the desired
  method. The output format will be detected from the extension on OUT-FILE; If
  auto-detection fails, the program will write dot source code.

  Sample output can be seen at

  Currently it only supports rendering a single method at a time. If there's
  interest in rendering an entire class to a giant image, I might implement
Something went wrong with that request. Please try again.