[HTC 10 Questions & Answers] syntropic:
root@crypts3c-[1521]:/media/root/external # RUU_Decrypt_Tool RUU_PERFUME_UL_M60_SENSE80GP_TMOUS_1.81.531.20.exe

+++ Welcome to the HTC RUU Decryption Tool 3.1.0 +++
by nkk71 and Captain_Throwback
Mac OS X support by topjohnwu

RUU identified as Executable file

Extracting rom.zip from RUU_PERFUME_UL_M60_SENSE80GP_TMOUS_1.81.531.20.exe
Extracting temporary files...
Extracting rom zip files...
Extracting rom.zip...done.
Extracting android-info.txt...done.
Cleaning up...
Done!

Information extracted from RUU.EXE:
INFO: RUU modelid: 2PS650000
INFO: RUU mainver: 1.81.531.20

Extracting ZIP files
Normal Zip format detected, using unzip
Archive: /media/root/My Book/HTC 10 Work/OUT/romzip/rom.zip
extracting: info.bin
extracting: zip_0.zip
extracting: zip_1.zip
extracting: zip_2.zip
extracting: zip_3.zip
extracting: zip_4.zip
extracting: zip_5.zip
extracting: zip_6.zip
extracting: zip_7.zip
extracting: zip_8.zip
extracting: zip_9.zip
extracting: zip_10.zip
extracting: zip_11.zip
extracting: zip_12.zip
extracting: zip_13.zip
extracting: zip_14.zip
extracting: zip_15.zip
extracting: zip_16.zip
extracting: zip_17.zip
extracting: zip_18.zip
extracting: zip_19.zip
extracting: zip_20.zip
extracting: zip_21.zip
extracting: zip_22.zip
extracting: zip_23.zip
extracting: zip_24.zip
Finished: Successfully extracted zip files to 'dumped_zips'

Attempting to find suitable keyfile
Find First Encrypted ZIP
Encrypted zip to be used for testing: 'zip_0.zip'

No proper keyfile, trying known keys instead...
Testing keyfile '0P3P_keyfile_4.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0P6B_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0P6B_keyfile_6.20.654.3.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0P6B_keyfile_6.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PAJ_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PCV_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PFH_keyfile_2.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PGZ_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PJA_keyfile_2.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PKV_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PM9_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PN7_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PN7_keyfile_4.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '0PN7_keyfile_5.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '2PQ9_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '2PRG_keyfile_2.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '2PS6_keyfile_1.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile '2PST_keyfile_1.08.401.2.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile 'PJ75_keyfile_4.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing keyfile 'PO58_keyfile_4.bin'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Still no proper keyfile, trying all ruuveal built-in keys...
Testing ruuveal device 'cp2dcg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp2dtg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp2dug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp3dcg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp3dtg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp3dug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp3edtg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp5dtu'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp5dug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'cp5dwg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'csndug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'deluxe_j'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'deluxe_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'deluxe_ub1'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'dlpdtu'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'dlpdug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'dlpdwg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'dlxp_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'dlxp_ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'endeavor_td'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'endeavor_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'enrc2_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'enrc2b_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'evita'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'evitare_ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'fireball'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'jel_dd'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'jewel'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'k2_plc_cl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'k2_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'k2_ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm4_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm4_ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7_u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7_ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7_wlj'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7_wls'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7_wlv'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7cdtu'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7cdug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'm7cdwg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'magnids'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'monarudo'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'mystul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'proto'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'protodcg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'protodug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'prototd'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6dug'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6dwg'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6tl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6u'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6ul'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6ula'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6whl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 't6wl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'tc2'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'ville'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'villec2'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'z4td'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'zara_cl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory
Testing ruuveal device 'zara_wl'...
ruuveal: error while loading shared libraries: libcrypto.so.1.0.0: cannot open shared object file: No such file or directory

Trying force extraction of hboot/hosd...
Archive: zip_0.zip
warning [zip_0.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
inflating: tmp/hosd_signed.img
error: invalid compressed data to inflate
caution: filename not matched: hboot*
Archive: zip_1.zip
warning [zip_1.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_2.zip
warning [zip_2.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_3.zip
warning [zip_3.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_4.zip
warning [zip_4.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_5.zip
warning [zip_5.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_6.zip
warning [zip_6.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_7.zip
warning [zip_7.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_8.zip
warning [zip_8.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_9.zip
warning [zip_9.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_10.zip
warning [zip_10.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_11.zip
warning [zip_11.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_12.zip
warning [zip_12.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_13.zip
warning [zip_13.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_14.zip
warning [zip_14.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_15.zip
warning [zip_15.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_16.zip
warning [zip_16.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_17.zip
warning [zip_17.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_18.zip
warning [zip_18.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_19.zip
warning [zip_19.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_20.zip
warning [zip_20.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_21.zip
warning [zip_21.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_22.zip
warning [zip_22.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_23.zip
warning [zip_23.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
Archive: zip_24.zip
warning [zip_24.zip]: 384 extra bytes at beginning or within zipfile
(attempting to process anyway)
caution: filename not matched: hboot*
caution: filename not matched: hosd*
... assuming hosd, going to unpack it...
Android Image Kitchen - UnpackImg Script
by osm0sis @ xda-developers

Supplied image: hosd_signed.img

Setting up work folders...

Splitting image to "split_img/"...
BOARD_KERNEL_CMDLINE console=ttyHSL0,115200,n8 androidboot.console=ttyHSL0 user_debug=31 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 cma=32M@0-0xffffffff androidboot.hardware=htc_pme androidkey.dummy=1
BOARD_KERNEL_BASE 80000000
BOARD_NAME hosd:0
BOARD_PAGE_SIZE 4096
BOARD_KERNEL_OFFSET 00008000
BOARD_RAMDISK_OFFSET 01000000
BOARD_TAGS_OFFSET 00000100

Unpacking ramdisk to "ramdisk/"...

Compression used: data
Error!
ERROR: Unable to unpack hosd (res=1)
Working directory cleaned.

ERROR: Could not find suitable decryption key!

Please provide a suitable keyfile, hboot or hosd (depending on device).

Removing unneeded work folders

INFO: RUU modelid: 2PS650000
INFO: RUU mainver: 1.81.531.20

Finished: Tool has finished but there was an error, please
check the console output and your OUT folder

I ran it without any options and also with the -f (firmware only) switch. The output was the same each time: Two folders ("dumped_zips" and "romzip"); the romzip just has the android-info.txt, and the dumped_zips has 24 zip files.

Couldn't get the image in this post, so here is a link to view it:

http://imgur.com/a/80QYI

In the thread, nkk71 states that this output of 24 zips is how the newer RUUs are packed (he believes it is called "rompack v2").

In the OP it states that the tool proceeds as follows:

User provided keyfile.bin

User provided --device flag

Known keys (stored in the keyfiles folder)

All ruuveal built-in keys

User provided hboot or hosd

Attempt force extraction of hboot or hosd

I don't see how the --device flag would help, and as far as option #5, from reading the thread, if you obtain an hboot from an OTA (the hboot is apparently decrypted in an OTA), then you might be able to use this to decrypt the RUU.

This is from the OP by Captain Throwback:

But later in the thread CT says the following:

So I guess I am going to see if I can find a TMO OTA file, and if that doesn't work, see if I can find someone with a TMO Rom on their phone who would be willing to extract their hboot for me.

Unfortunately, I am not familiar with hosd files.. I don't know where to look for these.

Any suggestions or thoughts or help is very much appreciated!! :)

EDIT: I just realized I had a semi-recent TMO firmware zip... I think it was customized because it did not have the hboot.img in it. However, I did find the hosd_signed.img. So I am running the tool using this file.

Question: What is the difference between hboot.img and aboot.img?