• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

Unpacker Kitchen for Android(UKA)

Search This thread
Oct 10, 2020
sounds great!!

I know it is not relevant to current thread but I would definitely need some tool to "Magisk wise" patch the boot.img for Amlogic ROM (S905X3 devices)...
I haven't read much about the XDA posting rule, so I refrain from posting on other's thread. so better regarding this, use XDA conversation with me... I can't say about Amlogic ROM ... b'coz I don't used such rom.. maybe uka can patch 32bit boot.img only, for what purpose do you have to patch boot.img??? magisk is sufficient regarding this. also more important vbmeta.img have to patch because vbmeta only allows boot whether the system is booted or not. UKA can patch vbmeta. I patched vbmeta.img successfully for Xiaomi Redmi note 9 pro max.
Oct 10, 2020
Thanks @kory-vadim and thanks @RajivShastri king for the translation , I confirm UKA_5.4_eng_magisk.zip worked for me as it should , tested many functionalities with gsi a11 👍
Yes, @Hami_Do you are absolutely right! so, already we saved a copy of UKA_5.4_eng_magisk.zip. We have also used many features of 5.4, landed exactly right. I was surprised when converting system_spersechunk, which was in 8 part ("from fastboot rom of motorola" "Oreo" "test device") to system.img (after debloated) then converted to dat.br then successfully installed from recovery flashable zip archive. I thank @Kori-vadim for making so many facilities accessible to all of us in one place.
  • Like
Reactions: Hami_Do
Oct 10, 2020


  • IMG_20211005_044513.jpg
    1 MB · Views: 54
Oct 10, 2020
I found that, translation work has been left a little bit on UKA_v5.6 in option 1) of 1) menu. It is not much necessary but those who have some language problem, to know about results regarding option 1) of 1), then they can replace given bootext with UKAv5.6's bootext. & 🤓
Oct 10, 2020
I don't feel like it because it's a very small tiny leftover that would be possible on a normal mobile by simply replacing the bootext with Zarchiver apk. All the user has to do is simply Unpack/Replace/Repack.
👉Even if you do not change, then only you will see Russian language instead of English language in Extract file_context section, there is no harm in it.....😍

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    please try attached ZIP module, compiled by me thanks to RajivShastri king's translation
  • 8
    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.

    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:

    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

    MOD EDIT: Link removed
    Yes, fixed v5.6.
    UKA_5.6_eng_magisk.zip ("Translated in English")