| || |
Changing where OTA updates get stored
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.
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:
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.
From there, we can edit the original ipth-muc.prop file we pulled to look like this:
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.