120 lines
5.6 KiB
Markdown
120 lines
5.6 KiB
Markdown
<div align="center">
|
|
|
|
<h1>Phoenix Firmware Dumper v1.1.3</h1>
|
|
|
|
<h4>Based Upon Dumpyara from AndroidDumps, Infused w/ their Firmware_extractor</h4>
|
|
|
|
</div>
|
|
|
|
|
|
## What this really is
|
|
|
|
You might've used firmware extractor via dumpyara from https://github.com/AndroidDumps/. This toolkit is revamped edition of the tools with some improvements and feature additions.
|
|
|
|
## The improvements over dumpyara
|
|
|
|
- [x] dumpyara's and firmware_extractor's scripts are merged with handpicked shellcheck-ed and pylint-ed improvements
|
|
- [x] The script can download and dump firmware from different filehosters such as Mega.NZ, Mediafire.com, AndroidFileHost.com and from Google Drive URLs
|
|
- [x] File as-well-as Folder as an input is processed thoroughly to check all kinds of supported firmware types
|
|
- [x] All the external tools are now inherited into one place and unnesessary files removed
|
|
- [x] Binary tools are updated to latest available source
|
|
- [x] LG KDZ utilities are updated to support latest firmwares
|
|
- [x] Installation requirements are narrowed down to minimal for playing with this toolkit
|
|
|
|
## Recommendations before Playing with Firmware Dumper
|
|
|
|
This toolkit can run in any Debian/Ubuntu distribution, Ubuntu Bionic and Focal would be best, other versions are not tested.
|
|
|
|
Support for Alpine Linux is added and tested. You can give it a try.
|
|
|
|
For any other UNIX Distributions, please refer to internal [Setup File](setup.sh) and install the required programs via their own package manager.
|
|
|
|
## Prepare toolkit dependencies / requirements
|
|
|
|
To prepare for this toolkit, run [Setup File](setup.sh) at first, which is needed only one time. After that, run [Main Script](dumper.sh) with proper argument.
|
|
|
|
## Usage
|
|
|
|
Run this toolkit with proper firmware file/folder path or URL
|
|
|
|
```bash
|
|
./dumper.sh 'Firmware File/Extracted Folder -OR- Supported Website Link'
|
|
```
|
|
|
|
Help Context:
|
|
|
|
```text
|
|
>> Supported Websites:
|
|
1. Directly Accessible Download Link From Any Website
|
|
2. Filehosters like - mega.nz | mediafire | gdrive | onedrive | androidfilehost
|
|
>> Must Wrap Website Link Inside Single-quotes ('')
|
|
>> Supported File Formats For Direct Operation:
|
|
*.zip | *.rar | *.7z | *.tar | *.tar.gz | *.tgz | *.tar.md5
|
|
*.ozip | *.ofp | *.ops | *.kdz | ruu_*exe
|
|
system.new.dat | system.new.dat.br | system.new.dat.xz
|
|
system.new.img | system.img | system-sign.img | UPDATE.APP
|
|
*.emmc.img | *.img.ext4 | system.bin | system-p | payload.bin
|
|
*.nb0 | .*chunk* | *.pac | *super*.img | *system*.sin
|
|
```
|
|
|
|
## How to use it to Upload the Dump in GitHub
|
|
|
|
- Copy your GITHUB_TOKEN in a file named .github_token and add your GitHub Organization name in another file named .github_orgname inside the project directory.
|
|
- If only Token is given but Organization is not, your Git Username will be used.
|
|
- Copy your Telegram Token in a file named .tg_token and Telegram Chat/Channel ID in another file named .tg_chat file if you want to publish the uploading info in Telegram.
|
|
|
|
## Main Scripture Credit
|
|
|
|
As mentioned above, this toolkit is entirely focused on improving the Original Firmware Dumper available [Here](https://github.com/AndroidDumps/)
|
|
|
|
Credit for those tools goes to everyone whosoever worked hard to put all those programs in one place to make an awesome project.
|
|
|
|
## Download Utilities Credits
|
|
|
|
- mega-media-drive_dl.sh (for downloading from mega.nz, mediafire.com, google drive)
|
|
- shell script, most of it's part belongs to badown by @stck-lzm
|
|
- afh_dl (for downloading from androidfilehosts.com)
|
|
- python script, by @kade-robertson
|
|
- aria2c
|
|
- wget
|
|
|
|
## Internal Utilities Credits
|
|
|
|
- sdat2img.py (system-dat-to-img v1.2, python script)
|
|
- by @xpirt, @luxi78, @howellzhu
|
|
- simg2img (Android sparse-to-raw images converter, binary built from source)
|
|
- by @anestisb
|
|
- unsin (Xperia Firmware Unpacker v1.13, binary)
|
|
- by @IgorEisberg
|
|
- extract\_android\_ota\_payload.py (OTA Payload Extractor, python script)
|
|
- by @cyxx, with metadata update from [Android's update_engine Git Repository](https://android.googlesource.com/platform/system/update_engine/)
|
|
- extract-dtb.py (dtbs extractor v1.3, python script)
|
|
- by @PabloCastellano
|
|
- dtc (Device Tree Compiler v1.6, binary built from source)
|
|
- by kernel.org, from their [dtc Git Repository](https://git.kernel.org/pub/scm/utils/dtc/dtc.git)
|
|
- vmlinux-to-elf and kallsyms_finder (kernel binary to analyzable ELF converter, python scripts)
|
|
- by @marin-m
|
|
- ozipdecrypt.py (Oppo/Oneplus .ozip Firmware decrypter v1.2, python script)
|
|
- by @bkerler
|
|
- ofp\_qc\_extract.py and ofp\_mtk\_decrypt.py (Oppo .ofp firmware extractor, python scripts)
|
|
- by @bkerler
|
|
- opscrypto.py (OnePlus/Oppo ops firmware extractor, python script)
|
|
- by @bkerler
|
|
- lpunpack (OnePlus/Other super.img unpacker, binary built from source)
|
|
- by @LonelyFool
|
|
- splituapp.py (UPDATE.APP extractor, python script)
|
|
- by @superr
|
|
- pacextractor (Spreadtrum .pac file extractor, binary built from source)
|
|
- by @divinebird, improved by @superr
|
|
- nb0-extract (Nokia/Sharp/Infocus/Essential nb0-extract, binary built from source)
|
|
- by Heineken @Eddie07 / "FIH mobile"
|
|
- kdztools' unkdz.py and undz.py (LG KDZ and DZ Utilities, python scripts)
|
|
- Originally by IOMonster (thecubed on XDA), Modified by @ehem (Elliott Mitchell) and improved by @steadfasterX
|
|
- RUU\_Decrypt\_Tool (HTC RUU/ROM Decryption Tool v3.6.8, binary)
|
|
- by @nkk71 and @CaptainThrowback
|
|
- extract-ikconfig (.config file extractor from kernel image, shell script)
|
|
- From within linux's source code by @torvalds
|
|
- unpackboot.sh (bootimg and ramdisk extractor, modified shell script)
|
|
- Originally by @xiaolu and @carlitros900, stripped to unpack functionallity, by me @rokibhasansagar
|
|
|