extractor/README.md

1.8 KiB

Extractor · GitHub license

Extractor is a powerful Android firmware image extraction utility

Installation

To run Extractor on your computer some preparation steps are required. Since Extractor is a python tool, a working python environment is required. 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.

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

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.