Key English ## Introduction Proprietary blobs can be extracted either from a device already running /e/OS or from an /e/OS installable zip. In this guide we will describe the steps required to extract proprietary files from installable zips. Before beginning, it is required to know the difference between the types of OTAs: * **Block-based OTA**: the content of the system partition is stored inside of an `.dat`/`` file as binary data. * **File-based OTA**: the content of the system partition is available inside a folder of the zip named `system`. * **Payload-based OTA**: the content of the system partition is stored as an `.img` file inside of `payload.bin`. If your zip has no `system` folder or it is nearly empty and a file named `system.transfer.list` exists at the root level, then what you have is a block-based OTA. Jump to [Extracting proprietary blobs from block-based OTAs](#extracting-proprietary-blobs-from-block-based-otas) in this case. If you have the entire content of the system partition inside the `system` folder and no `system.transfer.list`, then what you have is a file-based OTA. See [Extracting proprietary blobs from file-based OTAs](#extracting-proprietary-blobs-from-file-based-otas). You may also have a payload-based OTA, which is what your device will use if it uses the A/B partitioning system. If that is what you have, jump to [Extracting proprietary blobs from payload-based OTAs](#extracting-proprietary-blobs-from-payload-based-otas). ## Extracting proprietary blobs from block-based OTAs Some block-based OTAs are split into multiple files, for the system partition and the other partitions like vendor, product, oem, odm and others. You can verify if yours is split by looking for the corresponding `*.transfer.list` files for each in the root of the installable /e/OS zip. If you have a split block-based OTA file then you will need to extract, decompress and convert each one in a similar manner to system and vendor as outlined below. If you do not have a split OTA file, you may skip any step that references `vendor.transfer.list` and `` or `` Create a temporary directory and move there: ```
mkdir ~/android/system_dump/
cd ~/android/system_dump/
``` Extract `system.transfer.list` and `` or `` from the installable //e/OS zip: ```
unzip path/to/e-*.zip system.transfer.list*
where `path/to/` is the path to the installable zip. If your OTA includes `vendor.transfer.list` and `` or `` (other others), extract them from the installable /e/OS zip as well: ```
unzip path/to/e-*.zip vendor.transfer.list*
where `path/to/` is the path to the installable zip. In the case of ``/``/etc. (a [brotli]( archive) exists, you will first need to decompress them using the `brotli` utility: