Skip to content
forked from DumprX/DumprX

DumprX: Script to Dump Android Firmwares

License

Notifications You must be signed in to change notification settings

Sushrut1101/DumprX

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

DumprX

Based Upon Phoenix Firmware Dumper from DroidDumps, with some Changes and Improvements

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

  • dumpyara's and firmware_extractor's scripts are merged with handpicked shellcheck-ed and pylint-ed improvements
  • The script can download and dump firmware from different filehosters such as Mega.NZ, Mediafire.com, AndroidFileHost.com and from Google Drive URLs
  • File as-well-as Folder as an input is processed thoroughly to check all kinds of supported firmware types
  • All the external tools are now inherited into one place and unnesessary files removed
  • Binary tools are updated to latest available source
  • LG KDZ utilities are updated to support latest firmwares
  • Installation requirements are narrowed down to minimal for playing with this toolkit
  • Recovery Dump is made too

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 and install the required programs via their own package manager.

Prepare toolkit dependencies / requirements

To prepare for this toolkit, run Setup File at first, which is needed only one time. After that, run Main Script with proper argument.

Usage

Run this toolkit with proper firmware file/folder path or URL

./dumper.sh 'Firmware File/Extracted Folder -OR- Supported Website Link'

Help Context:

  >> 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: Dumpyara Phoenix Firmware Dumper

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)
  • extract-dtb.py (dtbs extractor v1.3, python script)
    • by @PabloCastellano
  • dtc (Device Tree Compiler v1.6, binary built from source)
  • 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 (Extractor of SpreadTrum firmware files with extension pac. See)
    • by @HemanthJabalpuri
  • 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
  • twrpdtgen by @SebaUbuntu