[Android General] blackeangel:
version: 4.9.4

Last update of the program in the header: 04/06/2020

Developer: kory-vadim

For the program to function, root privileges are required.

Install: flash as Magisk module

Short description:

Unpacking, assembling and converting system (vendor) {. Img} {. New.dat} {. New.dat.br}, mounting raw.images, gluing the system.img broken into parts into a single image (from the firmware for Qfil), unpacking payload.bin, repackaging boot (recovery) .img, extracting file_contexts from boot.img (android <= 8.1), and converting file_contexts.bin on the phone.

Description:

To unpack images, you can use a phone with android 5+.

The system make_ext4fs is used from the phone’s firmware, so on a phone with android 6+ (or better 7), you can collect system.img images from android 5+.

We need root rights, busybox (needed before UKA version: 4.4 inclusive) and enough space for the images themselves and unpacking them in ./data.

Before flashing versions 4.6, 4.7, delete the old version and flash the corresponding archive via twrp.

In the kitchen there is a utility AIK - Android Image Kitchen for repacking boot (recovery) .img.

If, for some reason, you do not want to flash AIK-mobile (or, for example: already installed), then delete the file "AIK.Mobile.Installer.v3.4.zip" from the archive and flash "unpack-android_new_4.6. zip "without this file.

After flashing, install the terminal emulator (if it is not already installed), and check the box for UTF-8 in its settings.

To start the kitchen, in the terminal enter:

su

menu

Go to the item: "Extract file_contexts", and select the subitem: "Install configuration", if this is not done, then the conversion file_contexts.bin -> file_contexts will not work.

You need to run the configuration installation only once.

*In version 4.5 and above it should work without applying this item.

And then enter the numbers corresponding to the desired action.

To extract file_contexts, put boot.img in the folder: /data/local/UnpackerContexts.

To unpack .img images, you need to put system.img or vendor.img in the folder: /data/local/UnpackerSystem, and select the .img file (no more than 5) for unpacking.

When unpacking, the folders will be deleted: "system", or "vendor"; files: * _fs_config and * _pack.sh from the previous unpacking.

To build the image, copy the received file_contexts to the folder: /data/local/UnpackerSystem, if for some reason it will not be in the folder, then the assembly will be performed with file_contexts obtained when unpacking the image.

If files or folders were added to the disassembled image, then before assembling it, you must enter everything added into fs_config, and only then collect it.

If there are spaces in the names of folders or files in the unpacked image, then make_ex4fs will not collect such an image until you rename the files and correct the entries in fs_config.

Therefore, adding folders and files with spaces to the unpacked image is also not possible.

In version 4.6, the write assistant in fs_config is added.

If you just deleted something, then you do not need to edit fs_config.

Also in the collected folder must be present symlinks.

Well, in terms of context, Selinux will also need to be watched, depending on what was added.

To unpack or convert .dat, .br and in other cases, you will be prompted to enter the path to the folder where the image is located (in the same folder should be system (vendor) .transfer.list).

When converting and assembling in .dat, look behind the phone screen, because in some cases you need to enter a number corresponding to the version of the android, the image being collected.

There is a choice of compression ratio for converting * .new.dat to br.

To reduce the conversion time, compression can be selected 3-5 (maximum 7).

To unpack boot (recovery) .img, put the file in the folder: /data/local/AIK-mobile, and select the file in the menu: "unzip boot"

For packaging, use the item: "pack boot".

The collected file will be located in the folder: /data/local/AIK-mobile with the name boot-output.img.

To clean the working folder, also use the corresponding item. Source and output files will not be deleted.

AIK-mobile can be completely removed from the phone directly from the menu.

To mount, use the corresponding menu item, and the raw image must be located in the folder: /data/local/UnpackerSystem.

Do not forget to unmount the image.

To remove the kitchen from the phone, go to the corresponding menu item and confirm the removal,

after confirmation, the phone will be overloaded in twrp, and after working out the script, it will be loaded into the system.

Screenshots(Gdrive): https://drive.google.com/folderview?id=1-5dSaOQKpDH4gy737gcDp-Anp0vAj_VU

Download(Gdrive): https://drive.google.com/file/d/1-nOvictMuUNXbowwn3h1lbdrkJur2jJh/view?usp=drivesdk

GitHub: https://github.com/blackeangel/UKA