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.
$ 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
import pyjadx
jadx = pyjadx.Jadx()
app = jadx.load("my.apk")
for cls in app.classes:
print(cls.code)
See API reference here
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 License (BSD) https://github.com/pybind/pybind11/blob/master/LICENSE |
jni.hpp: | https://github.com/mapbox/jni.hpp License: https://github.com/mapbox/jni.hpp/blob/master/LICENSE.txt |