Skip to content

Latest commit

 

History

History
77 lines (52 loc) · 2.01 KB

README.md

File metadata and controls

77 lines (52 loc) · 2.01 KB

Extractor · GitHub license

Extractor is a powerful Android firmware image extraction utility

Supported formats

Extractor supports the following Android image formats:

android sparse image, erofs, extfs, android signed images, android data image, android data image brotli, pac, zip, lz4, tar, tar md5, sin, ozip, app, kdz, bin, cpb, super

Installation

To run Extractor on your computer some preparation steps are necessary. Since Extractor is a python tool, a working python environment is required.

Debian-based (Debian, Ubuntu)

Currently supports Debian 10 and Ubuntu 20.04. Use a terminal shell to execute the following commands:

sudo apt update
# Install dependencies
sudo apt install -y git android-sdk-libsparse-utils liblz4-tool brotli unrar

We recommend using a python virtualenv for installing Extractors python dependencies:

# Create virtualenv in venv directory
python3 -m venv venv
# Activate virtualenv
source venv/bin/activate

Now, install the python dependencies:

pip3 install -r requirements.txt

Extractor depends on some git submodules, all of which can be initialized like so

# Initialize git submodules
./scripts/init.sh

If you wish to run Extractor without installing the necesarry requirements yourself, you may run it using docker.

Usage

You can run Extractor on your machine by running:

sudo ./extractor.py <firmware image> --system-dir-output <output directory>

This will extract a firmware image into a specified output directory. Extractor also supports saving the output in a tar archive:

sudo ./extractor.py <firmware image> --tar-output

Note: root privileges are required due to temporarily active loopback mount operations

Docker

./extract-docker.py --in-file <firmware image> --out-dir <output directory>

License

Extractor is Apache 2.0 licensed.