Extracting ROM files from HTC RUU
Official HTC ROM updates are released as RUU (ROM Update Utility), which you run on your (Windows) PC to get the target device updated automatically.
Some of the big brains in the Android community release RUUs re-packaged into signed update files,
which in turn allow for whatever ROM customization you can imagine.
In this how to I will explain how to extract ROM files from a RUU image,
which you can then customize and use to flash your device without the fear of a new bootloader possibly making your device unrootable.
Requirements :
Windows PC,
Microsoft Process Monitor,
File Archiver capable of extracting ZIP files(eg, 7ZIP),
Official HTC RUU for your Android device.
The process of extracting ROM files from a RUU is really straightforward.
The idea behind it is that the self-contained update utility first needs to unpack the update payload into a temporary folder before pushing it onto the device.
This is when we grab the ROM file...
1. download the official RUU
2. start Process Monitor.
3. press CTRL+L
4. change "Architecture" to "Process Name"
5. leave the "is" field as it is
6. in the empty field copy and paste the name of your
RUU file (eg, RUU_Ace_Sense30_S_HTC_WWE_3.12.405.1_Radio_12.65.60.29_26.14.04.28_M_release_225512_signed.exe)
7. click "Add"
8. change "Process Name" to "Path"
9. change "is" to "Contains"
10. in the blank field type "rom.zip" (without quotes)
11. click add
Click "OK" to set the filter and then run the RUU file.
Once the utility starts switch back to Process Monitor and look for an entry in the "Path" column that ends with "\rom.zip".
Right click on that line and select "Jump to..."
this will open a Windows Explorer window in the folder which contains the zipped ROM files
Copy the "rom.zip" file to some other folder, outside of the temp RUU folder tree (eg, desktop)
Once copied, close Process Monitor and the RUU utility.
The copied "rom.zip" file contains the following files:
android-info.txt - list of CIDs this RUU will flash to,
boot.img - root file system image,
hboot (followed by a version string) - boot-loader update,
radio.img - radio driver update,
recovery.img - recovery partition image,
splash1_Hero_320x480.nb0 - boot loader splash image,
system_rel.img - system partition image,
userdata.img - data partition image.
You can now, among many other things, root the ROM
and then flash the updated boot.img and all the other image files on to your device using Recovery
it doesnt work... the process monitor colum is all blank after running RUU... there are no processes listed
munnibhai said:
it doesnt work... the process monitor colum is all blank after running RUU... there are no processes listed
Click to expand...
Click to collapse
you mst be doing something wrong i double checked the method and it still works fine for me..
make sure your environment is set up correctly and run everything as administrator or disadle uac in windows..
thanks for the reply, let me check it again...
i will post back to u
rom.zip corrupted
I followed the directions and like another post in here procmon shows a blank screen. I went to task manager and opened processes and saw when it ran then clicked open file location and found it. I did this twice and both zips are corrupt. (used winzip)
error [D:\android apps\EVO root\EVO\rom.zip]: start of central directory not found; Zip file corrupt.
Possible cause: file transfer error
when I close the RUU all the files in that folder disappear so you have to leave the RUU running while you copy the zip file or it's gone.
At least that's what I saw.
update to last post
I found a zip repair tool and was able to repair and extract the 1.10.653.2 RUU rom capture. I will have to try to run it later. If anyone gets corrupted zip error, Zip Repair pro will repair it.
To get the rom zip without any errors just run the ruu.exe file, when the box with a picture of a phone pops up, click start on pc, type in "run" and click on run then in that box that pops up, type in %temp% and click ok. Another window pops up then just scroll down to the most recent folder and rom.zip will be in there, if not it will be in the next folder.
Hi,
when I try to open the rom.zip I get an error message, it just said it cannot open with 7zip and with windows it says its invalid.
I tried downloading the RUU multiple times but still the same error. I rune the RUU as administrator.
Tried copying it over to different locations and then open it.
RUU_ENRC2B_U_JB_45_O2_UK_1.14.206.13_Radio_3.1204.167.31_release_289474_signed
HTC ONE X+
Thank you
Update:
I used Zip Repair Pro.. however there is no boot.img inside the repaired zip -_-
For those which have problem with making Process Monitor detect RUU temp folder, make sure You add whole file name of RUU including .exe at the end.
Jmcclue's steps, work perfectly, Thank you post #7
htc RUU Rom
Inside 4ndroid said:
Extracting ROM files from HTC RUU
Official HTC ROM updates are released as RUU (ROM Update Utility), which you run on your (Windows) PC to get the target device updated automatically.
Some of the big brains in the Android community release RUUs re-packaged into signed update files,
which in turn allow for whatever ROM customization you can imagine.
In this how to I will explain how to extract ROM files from a RUU image,
which you can then customize and use to flash your device without the fear of a new bootloader possibly making your device unrootable.
Requirements :
Windows PC,
Microsoft Process Monitor,
File Archiver capable of extracting ZIP files(eg, 7ZIP),
Official HTC RUU for your Android device.
The process of extracting ROM files from a RUU is really straightforward.
The idea behind it is that the self-contained update utility first needs to unpack the update payload into a temporary folder before pushing it onto the device.
This is when we grab the ROM file...
1. download the official RUU
2. start Process Monitor.
3. press CTRL+L
4. change "Architecture" to "Process Name"
5. leave the "is" field as it is
6. in the empty field copy and paste the name of your
RUU file (eg, RUU_Ace_Sense30_S_HTC_WWE_3.12.405.1_Radio_12.65.60.29_26.14.04.28_M_release_225512_signed.exe)
7. click "Add"
8. change "Process Name" to "Path"
9. change "is" to "Contains"
10. in the blank field type "rom.zip" (without quotes)
11. click add
Click "OK" to set the filter and then run the RUU file.
Once the utility starts switch back to Process Monitor and look for an entry in the "Path" column that ends with "\rom.zip".
Right click on that line and select "Jump to..."
this will open a Windows Explorer window in the folder which contains the zipped ROM files
Copy the "rom.zip" file to some other folder, outside of the temp RUU folder tree (eg, desktop)
Once copied, close Process Monitor and the RUU utility.
The copied "rom.zip" file contains the following files:
android-info.txt - list of CIDs this RUU will flash to,
boot.img - root file system image,
hboot (followed by a version string) - boot-loader update,
radio.img - radio driver update,
recovery.img - recovery partition image,
splash1_Hero_320x480.nb0 - boot loader splash image,
system_rel.img - system partition image,
userdata.img - data partition image.
You can now, among many other things, root the ROM
and then flash the updated boot.img and all the other image files on to your device using Recovery
Click to expand...
Click to collapse
this is good working 100% thank you :good:
i_4_u89 said:
this is good working 100% thank you :good:
Click to expand...
Click to collapse
no problem and please instead of saying thanks please remember to hit the thanks button on threads first post..
works great, to bad you cant open the zip file
jpwhre said:
works great, to bad you cant open the zip file
Click to expand...
Click to collapse
You can open the zip. Go back a page n try the way i said.
jmcclue said:
You can open the zip. Go back a page n try the way i said.
Click to expand...
Click to collapse
note path is desktop (last post showed from temp folder) and i still get same results. did some searching and aperantly htc now signs their zip files and they can't be opened anymore. having usb issues that causes fastboot force close errors and need to be able to flash boot.img thru flashify app to return it to stock. ran the htcguru reset rom that uses aroma installer to return to stock that lets me take ota's but i get qualcom location force close and other custom roms give me issues forcing me to reset phone to stock every few days with guru installer. flashing recovery in fastboot is a chore as well. I have s-off and can keep it, but doing fastboot oem lock wont relock the bootloader, even though it shows success in cmd line. i can cid and super cid with fastboot.
it leaves me at a point where i really need to pull everything out of the rom.zip file and it wont open.
pic 1, 7zip wont open archive on desktop
pic 2, how i get recovery to flash
pic 3, results from running RUU
i have to reboot device, set comand to reboot bootloader, set command to flash recovery all faster than phone will do all commands to get it to flash, and RUU doesnt work that fast. i know im on sprint with htc one m7, but google search "extract htc zip" "extract rom.zip" both lead to this thread as top result. no other searches will tell me how to open the archive, except one that resulted in "htc signed zips can no longer be opened"
you're more than welcome to give it a go
http://forum.xda-developers.com/showthread.php?t=2795856 Sprint_HTC_One_m7wls_5.05.651.2_RUU.exe
Did HTC change the way they create the exe? I don't find it, the biggest file is data1.cab file that I can't extract.
I'm trying to extract the stock rom for an ATT HTC One Mini (m4) because RUU keeps crashing on me and won't install. I am also rooted with S-off.
If anybody can help me get the stock m4 rom so I can go back to stock, I would really appreciate it.
SyPete said:
Did HTC change the way they create the exe? I don't find it, the biggest file is data1.cab file that I can't extract.
I'm trying to extract the stock rom for an ATT HTC One Mini (m4) because RUU keeps crashing on me and won't install. I am also rooted with S-off.
If anybody can help me get the stock m4 rom so I can go back to stock, I would really appreciate it.
Click to expand...
Click to collapse
No they didn't change it. Some ruu's use a different format requiring the use of a tool called unruu instead of trying to capture the zip file when using the exe (I just learned this today). I've gone ahead and used unruu and the resulting zips have been put in a single tar file. you can download it from here for about 30 days after which ill have to delete the file. also i dont know which zip has what in it.
hi
master how to open Zip firmware !!?
i want to open zip firmware (PM60IMG.zip Desire 400)with 7zip ! but shows below error :
"can not open file PM60IMG.zip az archive "
how to pass this encryption ?
gandolf007 said:
hi
master how to open Zip firmware !!?
i want to open zip firmware (PM60IMG.zip Desire 400)with 7zip ! but shows below error :
"can not open file PM60IMG.zip az archive "
how to pass this encryption ?
Click to expand...
Click to collapse
https://github.com/kmdm/ruuveal/tree/f4936338f19841c75edafbe7e622242105cb39aa
Hello. When I bought my Nexus 5X, it had Android Marshmallow on it. I immediately rooted it and flashed TWRP using the Nexus Root Toolkit (NRT) and it went well.
Along came the Android 7.0 OTA and I only had to remove the saved fingerprints and PIN (to make TWRP see the phone as decrypted) I was able to go through the update successfully with that current setup. Of course I had to re-root my phone after that.
But the 46.7MB October Security Update won't install via OTA. I've tried:
re-rooting it with the latest TWRP (via NRT)
re-flashing the stock recovery (via NRT)
but the OTA still wouldn't get installed. I checked the recovery log and it showed this line:
Code:
installing lge.bullhead updater extensions
Source: google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Target: google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys
Verifying current system...
script aborted: E3001: Package expects build fingerprint of google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys or google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys; this device has google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys.
Source: google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Target: google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys
Verifying current system...
E3001: Package expects build fingerprint of google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys or google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys; this device has google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys.
E:unknown command [log]
Updater process ended with ERROR: 7
I:Legacy property environment disabled.
Error installing zip file '@/cache/recovery/block.map'
Done processing script file
But I checked the build.prop file and found this:
Code:
ro.build.desciption
google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Where could that google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys have come from? How do I proceed with the OTA? I've yet to try FlashFire because it won't detect the downloaded OTA file and I've yet to download that 1.2GB factory OTA file.
Also why only now am I having problems with OTA? It should have happened during the Android 7.0 update, right? I would like it very much if I could do this without wiping my data. Please help. Thank you.
d4ryl3 said:
Hello. When I bought my Nexus 5X, it had Android Marshmallow on it. I immediately rooted it and flashed TWRP using the Nexus Root Toolkit (NRT) and it went well.
Along came the Android 7.0 OTA and I only had to remove the saved fingerprints and PIN (to make TWRP see the phone as decrypted) I was able to go through the update successfully with that current setup. Of course I had to re-root my phone after that.
But the 46.7MB October Security Update won't install via OTA. I've tried:
re-rooting it with the latest TWRP (via NRT)
re-flashing the stock recovery (via NRT)
but the OTA still wouldn't get installed. I checked the recovery log and it showed this line:
Code:
installing lge.bullhead updater extensions
Source: google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Target: google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys
Verifying current system...
script aborted: E3001: Package expects build fingerprint of google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys or google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys; this device has google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys.
Source: google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Target: google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys
Verifying current system...
E3001: Package expects build fingerprint of google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys or google/bullhead/bullhead:7.0/NBD90W/3239497:user/release-keys; this device has google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys.
E:unknown command [log]
Updater process ended with ERROR: 7
I:Legacy property environment disabled.
Error installing zip file '@/cache/recovery/block.map'
Done processing script file
But I checked the build.prop file and found this:
Code:
ro.build.desciption
google/bullhead/bullhead:7.0/NRD90R/3141966:user/release-keys
Where could that google/bullhead/bullhead:6.0.1/MMB29Q/2480792:user/release-keys have come from? How do I proceed with the OTA? I've yet to try FlashFire because it won't detect the downloaded OTA file and I've yet to download that 1.2GB factory OTA file.
Also why only now am I having problems with OTA? It should have happened during the Android 7.0 update, right? I would like it very much if I could do this without wiping my data. Please help. Thank you.
Click to expand...
Click to collapse
The update will fail because you have modified /system. Update using NRT then apply root. I don't use that tool so that's up to you to figure out.
Alternatively, update using fastboot and reflash root afterwards. Follow the guide below:
http://forum.xda-developers.com/showthread.php?t=3206930
Sent from my Nexus 5X using Tapatalk
d4ryl3 said:
Along came the Android 7.0 OTA and I only had to remove the saved fingerprints and PIN (to make TWRP see the phone as decrypted)
Click to expand...
Click to collapse
BTW you didn't "decrypt" the phone. It was still encrypted. You just changed the password used to encrypt the storage of the unique encryption "keys", that were used to encrypt your phone, to "default_password", which TWRP knows about and can try automatically to retrieve your encryption keys.
SlimSnoopOS said:
The update will fail because you have modified /system. Update using NRT then apply root. I don't use that tool so that's up to you to figure out.
Alternatively, update using fastboot and reflash root afterwards. Follow the guide below:
http://forum.xda-developers.com/showthread.php?t=3206930
Sent from my Nexus 5X using Tapatalk
Click to expand...
Click to collapse
I went away and
Downloaded the OTA zip file
Installed the Android SDK tools, connected my device and rebooted it into TWRP
Then went to Advanced -> ADB Sideload
Then from the command prompt, typed "adb sideload /path/to/OTA/zip/file" and hit enter
It took a few minutes to 100%, then I rebooted my phone and all is well and updated now.
Thank you so much for redirecting me to the proper solution.
sfhub said:
BTW you didn't "decrypt" the phone. It was still encrypted. You just changed the password used to encrypt the storage of the unique encryption "keys", that were used to encrypt your phone, to "default_password", which TWRP knows about and can try automatically to retrieve your encryption keys.
Click to expand...
Click to collapse
Oh, all right. Thanks for the clarification and duly noted. :good:
d4ryl3 said:
I went away and
[*]Downloaded the OTA zip file
Click to expand...
Click to collapse
Can you share the link for NRD90R>NBD90W, I'm still stuck on NRD90R and don't want to flash the full OTA (I don't want to flash full image every month and run down the flash rewrites).
MarvinOl said:
Can you share the link for NRD90R>NBD90W, I'm still stuck on NRD90R and don't want to flash the full OTA (I don't want to flash full image every month and run down the flash rewrites).
Click to expand...
Click to collapse
Sorry for not being clear, but I used thr whole 1.2GB OTA zip file for this.
Was also wondering if there's a simpler way of doing this considering the October update was just ~46MB.
As the title asks, where can I find the stock ROM for the N7100XXUFND3?
I've tried various sites, but it is hard to find anything that can actually be downloaded. I did find this https://www.sammobile.com/firmwares/galaxy-note-/GT-N7100/XEF/download/N7100XXUFND3/28780/ but it cannot be installed, with the error "Could not find 'META-INF/com/google/android/update-binary' in the zip file.".
Did you follow the instructions on the site how to install the firmware? You have to flash it through Odin (which will wipe your device) not a custom recovery like TWRP.
Sent from my SM-G935U using Tapatalk
xBkKx said:
Did you follow the instructions on the site how to install the firmware? You have to flash it through Odin (which will wipe your device) not a custom recovery like TWRP.
Sent from my SM-G935U using Tapatalk
Click to expand...
Click to collapse
Thanks for that, don't know how I missed it.
However, when I try to use Heimdall I get: "heimdall packages shouldn't contain links or directories".
However, there are no "links or directories" in the archive.
I extracted the archive manually and attempted to create one which only contains the .img files, tar -cvzf stock_rom.tar.gz *.img.
This gives me that "firmware.xml is missing from the package".
diracdeltafunct said:
Thanks for that, don't know how I missed it.
However, when I try to use Heimdall I get: "heimdall packages shouldn't contain links or directories".
However, there are no "links or directories" in the archive.
I extracted the archive manually and attempted to create one which only contains the .img files, tar -cvzf stock_rom.tar.gz *.img.
This gives me that "firmware.xml is missing from the package".
Click to expand...
Click to collapse
Why so much effort?
use Odin to flash it directly...
Hi,
I have twrp and stock rom on my Fire TV Stick 2 (tank). I get notification that there is an update, but whenever I try press install Unothing happens. I also tried to manually update, but it says "update failed".
Is there any way to install the latest OTA?
lars1384 said:
Hi,
I have twrp and stock rom on my Fire TV Stick 2 (tank). I get notification that there is an update, but whenever I try press install Unothing happens. I also tried to manually update, but it says "update failed".
Is there any way to install the latest OTA?
Click to expand...
Click to collapse
That is easy. Download the ota file with the settings (check update), then reboot to TWRP.
The update *.bin file is probably stored at:
Code:
/sdcard/Android/data/com.amazon.device.software.ota/files/
Check the size of the file (don't flash partial updates), a full update bin should take about 500mb. You have to rename the file from bin to zip, then flash it with twrp.
Sus_i said:
That is easy. Download the ota file with the settings (check update), then reboot to TWRP.
The update *.bin file is probably stored at:
Code:
/sdcard/Android/data/com.amazon.device.software.ota/files/
Check the size of the file (don't flash partial updates), a full update bin should take about 500mb. You have to rename the file from bin to zip, then flash it with twrp.
Click to expand...
Click to collapse
Thanks a lot.
It worked
For some reason, I can't find the new OTA in this folder anymore:
/sdcard/Android/data/com.amazon.device.software.ota/files/
Does anyone know, where the new path is?
In case the download is complete, it should be in that folder...
However, the .bin file could be also placed in /cache
Don't forget to rename the file to .zip, or twrp install won't show/find the file.
I'm new to rooting and I'm trying to root a Pixel 3a XL I've just inherited. Following steps from a tutorial, I've unlocked the bootloader and installed Magisk v23.0 on the phone, and I copied on the internal storage all the files from the zip file I downloaded from Google that are supposed to be the stock ROM for my build #. There are 2 .img files in there: bootloader-bonito-b4s4-0.3-7062600.img and radio-bonito-g670-00105-210113-b-7078968.img (there are a few scripts and another zip file in there too). The first one seems to be the boot file (Ramdisk is YES in Magisk), but when I try patching it (Magisk Install > Select and Patch a File > I choose the file via my file manager), I get the following error messages: 'Unsupported/Unknown image format' 'Installation failed'. The same thing happens if I try the other image file.
I obviously don't want to trial and error too much patching a rom that I'm going to flash my phone with. Any idea what I'm doing wrong there? Thank you!
EDIT: I had also done a checksum of the archive I downloaded from Google and it all lined up, so that shouldn't be the issue.
you need to patch the kernel. inside the zip is a second zip. in there is a file boot.img. that is the kernel. extract and copy it to your phone, then you can patch it, copy it back to your fastboot capable machine, and flash
ei: boot.img within a .zip within a .zip
hp420 said:
you need to patch the kernel. inside the zip is a second zip. in there is a file boot.img. that is the kernel. extract and copy it to your phone, then you can patch it, copy it back to your fastboot capable machine, and flash
ei: boot.img within a .zip within a .zip
Click to expand...
Click to collapse
It worked, thank you so much!