Skip to content

abdihaikal/pyjadx

Repository files navigation

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

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

jni.hpp:

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

mapbox

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

Authors

Romain Thomas @rh0main - Quarkslab