# imgpatchtools **Repository Path**: Autumn__Moon/imgpatchtools ## Basic Information - **Project Name**: imgpatchtools - **Description**: 。。。。。。。。。。。。 - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: Stable - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-30 - **Last Updated**: 2025-07-30 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # IMG Patch Tools Patch image (.img) using sparse Android data image (.dat) in OTA zip with "BlockImageUpdate" Patch other files (boot.img, firmwares) using patch file (.p) with "ApplyPatchfn" ## Downloads [Github Release](https://github.com/erfanoabdi/imgpatchtools/releases) ## Requirements For Building this tool you need : * zlib * libbz2 * openssl It currently supports Linux x86/x64 & MacOS, Not tested on Windows. ## Usage ``` usage: ./BlockImageUpdate ``` args: - `` = block device (or file) to modify in-place - `` = transfer list (blob) from OTA/rom zip - `` = new data stream from OTA/rom zip - `` = patch stream from OTA/rom zip ``` ./ApplyPatchfn [init_sha1(2)] [patch(2)]... ``` - `` = source file from rom zip - `` = target file (use "-" to patch source file) - `` = target SHA1 Sum after patching - `` = file size - `` = file SHA1 sum - `` = patch file (.p) from OTA zip ``` usage: ./scriptpatcher.sh ``` args: - `` = updater-script from OTA zip to patch recovery commands ## Example for example from updater-script of OTA we have: ``` block_image_update("/dev/block/bootdevice/by-name/system", package_extract_file("system.transfer.list"), "system.new.dat", "system.patch.dat") apply_patch("EMMC:/dev/block/bootdevice/by-name/boot:33554432:f32a854298814c18b12d56412f6e3a31afc95e42:33554432:0041a4df844d4b14c0085921d84572f48cc79ff4", "-", 0041a4df844d4b14c0085921d84572f48cc79ff4, 33554432, f32a854298814c18b12d56412f6e3a31afc95e42, package_extract_file("patch/boot.img.p")) ``` after getting system.img and boot.img from firmware This is equals of previous functions on PC with this tools: ``` ~$ ./BlockImageUpdate system.img system.transfer.list system.new.dat system.patch.dat ~$ ./ApplyPatchfn boot.img - 0041a4df844d4b14c0085921d84572f48cc79ff4 33554432 f32a854298814c18b12d56412f6e3a31afc95e42 ``` scriptpatcher.sh will generate all commands automatically from updater script so run it like: ``` ~$ ./scriptpatcher.sh META-INF/com/google/android/updater-script > fullpatch.sh ``` check fullpatch.sh your self, you need to provide all images and files in correct name and patch as mentioned in mount and other commands of fullpatch.sh ### Youtube [![IMG Patch Tools](https://img.youtube.com/vi/GjPoPe7IgHg/0.jpg)](https://www.youtube.com/watch?v=GjPoPe7IgHg "IMG Patch Tools") ## Info For more information about this tools, visit https://forum.xda-developers.com/android/software-hacking/dev-img-patch-tools-sdat2img-ota-zips-t3640308.