pyjadx

Python Binding for Jadx decompiler


Keywords
android, decompiler, binding, jadx
License
Apache-2.0
Install
pip install pyjadx==0.2.0

Documentation

PyJadx

PyJadx provides Python binding for Jadx decompiler

As Jadx is written in Java, it use the JNI interface through jni.hpp to make the bridge Java / C++ then it uses pybind11 to create the bridge C++ / Python.


Getting Start

  $ git clone https://github.com/romainthomas/pyjadx.git
  $ cd pyjadx
  $ python ./setup.py install --user

You can also build the documentation with:

  $ python ./setup.py build_sphinx

The generated doc will be located in doc/_build/html

Example

   import pyjadx

   jadx = pyjadx.Jadx()
   app = jadx.load("my.apk")

   for cls in app.classes:
     print(cls.code)

See API reference here

Credits

This application uses Open Source components. You can find the source code of their open source projects along with license information below. We acknowledge and are grateful to these developers for their contributions to open source.

Jadx:

https://github.com/skylot/jadx

Copyright 2018 by Skylot

Licensed under the Apache 2.0 License

PyBind11:

https://github.com/pybind/pybind11

Wenzel Jakob - http://rgl.epfl.ch/people/wjakob

License (BSD) https://github.com/pybind/pybind11/blob/master/LICENSE

jni.hpp

https://github.com/mapbox/jni.hpp

mapbox - https://www.mapbox.com/

License: https://github.com/mapbox/jni.hpp/blob/master/LICENSE.txt

Authors

Romain Thomas @rh0main <https://twitter.com/rh0main>_ - Quarkslab <https://www.quarkslab.com>_