Changing where OTA updates get stored

Neph

Well-known member
Jan 22, 2012
118
32
0
Ok, this will be a bit of a technical thread, so bear with me. This is so people have an understanding of how to find and look at the update files that get put on a phone. If you are reading thru this, I will assume that you have a basic understanding of ADB and possibly of shell commands like ls and cd

When you go into settings -> About Phone - Software update, your phone does many checks to the file system. One of them is at a file /data/fota/ipth-muc.prop . Most people do not know this directory exists as when you are in ADB you can not do a list command on the /data directory without root. This file is re-created each time you boot your phone. If we do the following command, we can dowload the file to our computer:

ADB pull /data/fota/ipth-muc.prop

If we open the file, it will look a lot like this.

firmware.version=VS920ZV3
max.pkg.size=157286400


This file can also contain additional data. The string we want to add in there is where to download and place update packages. This can be defined as such:

pkg.location=

If this line does not exist, it will default to /cache/fota . Being as we can not cd into /cache or pull/push files there, this is a bad spot to put it. How ever, we can make directories and read/write to them under /data/local . Using this info we can do the following.

ADB shell
mkdir /data/local/temp
exit

From there, we can edit the original ipth-muc.prop file we pulled to look like this:

firmware.version=VS920ZV3
max.pkg.size=157286400
pkg.location=/data/local/temp

If you edit the file, use a true file editor. Notepad will not save it correctly, but Wordpad had no issues. From there we do the following

ADB push ipth-muc.prop /data/fota

Now when we do the update, it will place the downloaded files into our temp directory (note, you must do this after the phone is fully booted, but before you have the phone look for an update). Once the files are done downloading, click remind me later. Then we can go into ADB and pull the files.

ADB pull /data/local/temp

You will get two files. One will be the update "ipth_package.bin" and the manifest files "ipth_package.bin.dd" . The manifest file also contains the link to the original file name as link to it on the host server. The ipth_package.bin file is a simple zip file that can be opened with almost any archiving program.

The zip is signed by LG using their personal key, so modifying it and pushing it back to the phone is not currently possible. We can however see the contents of an update and see what is being change. I hope to use this in the near future to either break the LG key or find a way to find a glitch in a patch being done.
 
Hi,

I have recently received the jelly-bean 4.3, by OTA in my Galaxy S4 (GT-I9505).
So I want to find the folder that contains the firmware downloaded and save it before start the installing.
I don't want to delete it, I just want to know where is the file.
My Galaxy S4 (GT-I9505) is rooted, and I looked for in many folders, including "data/fota", but it was empty.
Using root explorer, I looked for "ipth-muc.prop", but I didn't find this file. I also, looked for any file with ".tar" extension, but not successful.
I saw the tutorial " How To Root Galaxy S 4G & Deleting Fota Files", in XDA developers, posted in 7th April 2011, but it didn't helped me.
So, please, could you help me ?

Thanks.
 

Trending Posts

Forum statistics

Threads
954,182
Messages
6,960,841
Members
3,162,937
Latest member
Michael4444