Awesome
Requirements
- protobuf
- LZMA
- 7z
- lz4
Linux
apt install unace unrar zip unzip p7zip-full p7zip-rar sharutils rar uudeview mpack arj cabextract rename
apt install liblzma-dev python-pip brotli lz4
pip install backports.lzma protobuf pycrypto
Arch
pacman -S unace unrar zip unzip p7zip sharutils uudeview arj cabextract
pacman -S python python-pip brotli lz4
pip install backports.lzma protobuf pycrypto
For "rename" and "mpack" you need to manually clone and install the packages
for package in mpack rename; do
git clone https://aur.archlinux.org/"${package}"
cd "${package}" || continue
makepkg -si --skippgpcheck
cd - || break
rm -rf "${package}"
done
Mac
brew install protobuf liblzma-dev brotli lz4
pip install backports.lzma protobuf pycrypto
Also install mono
Windows
Install cygwin, and select
Latest python and pip packages, arj, brotli, cabextract, dos2unix, lz4, p7zip, renameutils, sharutils, unace, unzip and zip
If you get syntax errors run dos2unix on extractor.sh
How to use
Download
git clone --recurse-submodules https://github.com/erfanoabdi/Firmware_extractor.git
Extract images from firmware URL
Example: Extracting images from pixel 2 factory image:
cd Firmware_extractor
wget https://dl.google.com/dl/android/aosp/walleye-pq3a.190705.001-factory-cc471c8c.zip -o firmware.zip
./extractor.sh firmware.zip
output will be on "Firmware_extractor/out"