[Sprint HTC EVO 4G LTE] nkk71:
[HOW TO][MiniGuide] Decrypt HTC's newer RUUs (incl. HTC One M7 & HTC One M8 RUUs)

This should have been posted here in the first place, my bad :o

[HOW TO][MiniGuide] Decrypt HTC's newer RUUs (incl. HTC One M7 & HTC One M8 RUUs)

Note

: for the sake of readability the following filenames were replaced below:

ENC.ZIP = HTC_M8_UL_K44_SENSE60_SECURITY_HTC_Europe_1.12.401.17_Radio_1.14.2133156.UA24G_20.18h.4096.03L_release_356030_signed.zip

DEC.ZIP = HTC_M8_UL_K44_SENSE60_SECURITY_HTC_Europe_1.12.401.17_Radio_1.14.2133156.UA24G_20.18h.4096.03L_release_356030_signed-decrypted.zip

Step 1: The files and tools (credits below)

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
total 1451061
-rwxrwxrwx 1 root root 58658 Nov 16 21:34 bruutveal
-rwxrwxrwx 1 root root 2096384 Mar 22 2014 hboot_m8_1.54.401.5.img
-rwxrwxrwx 1 root root 1483671973 Dec 26 16:12 ENC.ZIP
-rwxrwxrwx 1 root root 58647 Nov 16 21:34 ruuveal

Step 2: Generate the decryption key using bruutveal

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]./bruutveal hboot_m8_1.54.401.5.img ENC.ZIP m8_keydata_1.54.401.5.bin[/COLOR][/B]
bruutveal
---------

Large zip format detected containing 7 zipfile(s)
SUCCESS!rcing key[loop 3]: 743413/2096384....
Successful bruutveal run, key written to: m8_keydata_1.54.401.5.bin

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
total 1451062
-rwxrwxrwx 1 root root 58658 Nov 16 21:34 bruutveal
-rwxrwxrwx 1 root root 2096384 Mar 22 2014 hboot_m8_1.54.401.5.img
-rwxrwxrwx 1 root root 1483671973 Dec 26 16:12 ENC.ZIP
[B][COLOR="Purple"]-rwxrwxrwx 1 root root 96 Jan 17 15:48 m8_keydata_1.54.401.5.bin[/COLOR][/B]
-rwxrwxrwx 1 root root 58647 Nov 16 21:34 ruuveal

Step 3: Decrypt the HTC signed/encrypted RUU

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]./ruuveal -K m8_keydata_1.54.401.5.bin ENC.ZIP X1.zip[/COLOR][/B]
ruuveal
-------

Large zip format detected containing 7 zipfile(s)
Decrypted RUU (zip) written to: 01_X1.zip
Decrypted RUU (zip) written to: 02_X1.zip
Decrypted RUU (zip) written to: 03_X1.zip
Decrypted RUU (zip) written to: 04_X1.zip
Decrypted RUU (zip) written to: 05_X1.zip
Decrypted RUU (zip) written to: 06_X1.zip
Decrypted RUU (zip) written to: 07_X1.zip

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
total 2899961
[B][COLOR="Purple"]-rwxrwxrwx 1 root root 46104576 Jan 17 15:50 01_X1.zip
-rwxrwxrwx 1 root root 404750331 Jan 17 15:50 02_X1.zip
-rwxrwxrwx 1 root root 402492430 Jan 17 15:51 03_X1.zip
-rwxrwxrwx 1 root root 415993027 Jan 17 15:52 04_X1.zip
-rwxrwxrwx 1 root root 173254074 Jan 17 15:52 05_X1.zip
-rwxrwxrwx 1 root root 294350 Jan 17 15:52 06_X1.zip
-rwxrwxrwx 1 root root 40782823 Jan 17 15:52 07_X1.zip[/COLOR][/B]
[SIZE="1"]-rwxrwxrwx 1 root root 58658 Nov 16 21:34 bruutveal
-rwxrwxrwx 1 root root 2096384 Mar 22 2014 hboot_m8_1.54.401.5.img
-rwxrwxrwx 1 root root 1483671973 Dec 26 16:12 ENC.ZIP
-rwxrwxrwx 1 root root 96 Jan 17 15:48 m8_keydata_1.54.401.5.bin
-rwxrwxrwx 1 root root 58647 Nov 16 21:34 ruuveal[/SIZE]

Step 4: Test the decrypted zips

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]unzip -t '*_X1.zip'[/COLOR][/B]
Archive: 01_X1.zip
warning [01_X1.zip]: 640 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [01_X1.zip]: reported length of central directory is
-640 bytes too long (Atari STZip zipfile? J.H.Holm ZIPSPLIT 1.1
zipfile?). Compensating...
testing: android-info.txt OK
testing: hboot_signedbyaa.img OK
testing: radio.img OK
testing: rcdata.img OK
testing: splash1.nb0 OK
testing: tz.img OK
testing: rpm.img OK
testing: adsp.img OK
testing: pg2fs_spcustom.img OK
testing: wcnss.img OK
testing: ramdisk.img OK
testing: tp_SYN3202.img OK
testing: sbl1-1.img OK
testing: sbl1-2.img OK
testing: sbl1-3.img OK
testing: sdi.img OK
testing: dt.img OK
testing: sensor_hub.img OK
testing: tp_SYN3528.img OK
testing: tp_SYN3508.img OK
testing: recovery_signed.img OK
No errors detected in compressed data of 01_X1.zip.

Archive: 02_X1.zip
testing: system_1.img OK
testing: android-info.txt OK
testing: android-info-1.txt OK
No errors detected in compressed data of 02_X1.zip.

Archive: 03_X1.zip
testing: system_2.img OK
testing: android-info.txt OK
testing: android-info-2.txt OK
No errors detected in compressed data of 03_X1.zip.

Archive: 04_X1.zip
testing: system_3.img OK
testing: android-info.txt OK
testing: android-info-3.txt OK
No errors detected in compressed data of 04_X1.zip.

Archive: 05_X1.zip
testing: system_4.img OK
testing: android-info.txt OK
testing: android-info-4.txt OK
No errors detected in compressed data of 05_X1.zip.

Archive: 06_X1.zip
testing: system_5.img OK
testing: android-info.txt OK
testing: android-info-5.txt OK
No errors detected in compressed data of 06_X1.zip.

Archive: 07_X1.zip
testing: android-info.txt OK
testing: dzdata_16g.img OK
testing: dzdata_32g.img OK
testing: dzdata_16g.hdr OK
testing: dzdata_32g.hdr OK
testing: boot_signed.img OK
No errors detected in compressed data of 07_X1.zip.

6 archives were successfully processed.
1 archive had fatal errors.

Step 5: Unpack the files to a new folder

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]unzip -n '*_X1.zip' -d RUUDIR[/COLOR][/B]
Archive: 01_X1.zip
warning [01_X1.zip]: 640 extra bytes at beginning or within zipfile
(attempting to process anyway)
error [01_X1.zip]: reported length of central directory is
-640 bytes too long (Atari STZip zipfile? J.H.Holm ZIPSPLIT 1.1
zipfile?). Compensating...
inflating: RUUDIR/android-info.txt
inflating: RUUDIR/hboot_signedbyaa.img
inflating: RUUDIR/radio.img
inflating: RUUDIR/rcdata.img
inflating: RUUDIR/splash1.nb0
inflating: RUUDIR/tz.img
inflating: RUUDIR/rpm.img
inflating: RUUDIR/adsp.img
inflating: RUUDIR/pg2fs_spcustom.img
inflating: RUUDIR/wcnss.img
inflating: RUUDIR/ramdisk.img
inflating: RUUDIR/tp_SYN3202.img
inflating: RUUDIR/sbl1-1.img
inflating: RUUDIR/sbl1-2.img
inflating: RUUDIR/sbl1-3.img
inflating: RUUDIR/sdi.img
inflating: RUUDIR/dt.img
inflating: RUUDIR/sensor_hub.img
inflating: RUUDIR/tp_SYN3528.img
inflating: RUUDIR/tp_SYN3508.img
inflating: RUUDIR/recovery_signed.img

Archive: 02_X1.zip
inflating: RUUDIR/system_1.img
inflating: RUUDIR/android-info-1.txt

Archive: 03_X1.zip
inflating: RUUDIR/system_2.img
inflating: RUUDIR/android-info-2.txt

Archive: 04_X1.zip
inflating: RUUDIR/system_3.img
inflating: RUUDIR/android-info-3.txt

Archive: 05_X1.zip
inflating: RUUDIR/system_4.img
inflating: RUUDIR/android-info-4.txt

Archive: 06_X1.zip
inflating: RUUDIR/system_5.img
inflating: RUUDIR/android-info-5.txt

Archive: 07_X1.zip
inflating: RUUDIR/dzdata_16g.img
inflating: RUUDIR/dzdata_32g.img
inflating: RUUDIR/dzdata_16g.hdr
inflating: RUUDIR/dzdata_32g.hdr
inflating: RUUDIR/boot_signed.img

6 archives were successfully processed.
1 archive had fatal errors.

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
total 4743171
-rwxrwxrwx 1 root root 46104576 Jan 17 15:50 01_X1.zip
-rwxrwxrwx 1 root root 404750331 Jan 17 15:50 02_X1.zip
-rwxrwxrwx 1 root root 402492430 Jan 17 15:51 03_X1.zip
-rwxrwxrwx 1 root root 415993027 Jan 17 15:52 04_X1.zip
-rwxrwxrwx 1 root root 173254074 Jan 17 15:52 05_X1.zip
-rwxrwxrwx 1 root root 294350 Jan 17 15:52 06_X1.zip
-rwxrwxrwx 1 root root 40782823 Jan 17 15:52 07_X1.zip
-rwxrwxrwx 1 root root 58658 Nov 16 21:34 bruutveal
-rwxrwxrwx 1 root root 2096384 Mar 22 2014 hboot_m8_1.54.401.5.img
-rwxrwxrwx 1 root root 1483671973 Dec 26 16:12 ENC.ZIP
-rwxrwxrwx 1 root root 96 Jan 17 15:48 m8_keydata_1.54.401.5.bin
[B][COLOR="Purple"]drwxrwxrwx 1 root root 8192 Jan 17 16:23 RUUDIR[/COLOR][/B]
-rwxrwxrwx 1 root root 58647 Nov 16 21:34 ruuveal

nkk71@ubuntu:~/t$ [B][COLOR="Blue"]cd RUUDIR/[/COLOR][/B]

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
[SIZE="1"]total 2883665
-rwxrwxrwx 1 root root 9536512 Feb 26 2014 adsp.img
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-1.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-2.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-3.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-4.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-5.txt
-rwxrwxrwx 1 root root 343 Feb 26 2014 android-info.txt
-rwxrwxrwx 1 root root 8456448 Feb 26 2014 boot_signed.img
-rwxrwxrwx 1 root root 1277952 Feb 26 2014 dt.img
-rwxrwxrwx 1 root root 13696 Feb 26 2014 dzdata_16g.hdr
-rwxrwxrwx 1 root root 18074496 Feb 26 2014 dzdata_16g.img
-rwxrwxrwx 1 root root 20848 Feb 26 2014 dzdata_32g.hdr
-rwxrwxrwx 1 root root 18354032 Feb 26 2014 dzdata_32g.img
-rwxrwxrwx 1 root root 2096384 Feb 26 2014 hboot_signedbyaa.img
-rwxrwxrwx 1 root root 4188160 Feb 26 2014 pg2fs_spcustom.img
-rwxrwxrwx 1 root root 45593600 Feb 26 2014 radio.img
-rwxrwxrwx 1 root root 834663 Feb 26 2014 ramdisk.img
-rwxrwxrwx 1 root root 801 Feb 26 2014 rcdata.img
-rwxrwxrwx 1 root root 15595776 Feb 26 2014 recovery_signed.img
-rwxrwxrwx 1 root root 195284 Feb 26 2014 rpm.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-1.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-2.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-3.img
-rwxrwxrwx 1 root root 11818 Feb 26 2014 sdi.img
-rwxrwxrwx 1 root root 216442 Feb 26 2014 sensor_hub.img
-rwxrwxrwx 1 root root 4194304 Feb 26 2014 splash1.nb0
[/SIZE][B][COLOR="Purple"]-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_1.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_2.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_3.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_4.img
-rwxrwxrwx 1 root root 301989888 Feb 26 2014 system_5.img[/COLOR][/B]
[SIZE="1"]-rwxrwxrwx 1 root root 47388 Feb 26 2014 tp_SYN3202.img
-rwxrwxrwx 1 root root 95772 Feb 26 2014 tp_SYN3508.img
-rwxrwxrwx 1 root root 95767 Feb 26 2014 tp_SYN3528.img
-rwxrwxrwx 1 root root 323002 Feb 26 2014 tz.img
-rwxrwxrwx 1 root root 4150272 Feb 26 2014 wcnss.img[/SIZE]

Step 6: Let's take a look at android-info.txt

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]cat android-info.txt[/COLOR][/B]
modelid: 0P6B10000
cidnum: HTC__001
cidnum: HTC__102
cidnum: HTC__203
cidnum: HTC__E11
cidnum: HTC__405
cidnum: HTC__Y13
cidnum: HTC__304
cidnum: HTC__A07
cidnum: HTC__032
cidnum: HTC__J15
cidnum: HTC__016
cidnum: HTC__M27
cidnum: HTC__K18
cidnum: HTC__A48
cidnum: HTC__002
mainver: 1.12.401.17
btype:1
aareport:1
hbootpreupdate:12
DelCache:1

Step 7: Concatenate the system_x.img images to one system.img

nkk71@ubuntu:~/t/RUUDIR$
[B][COLOR="Blue"]cat system_1.img system_2.img system_3.img system_4.img system_5.img >system.img[/COLOR][/B]

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
[SIZE="1"]total 5636177
-rwxrwxrwx 1 root root 9536512 Feb 26 2014 adsp.img
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-1.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-2.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-3.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-4.txt
-rwxrwxrwx 1 root root 399 Feb 26 2014 android-info-5.txt
-rwxrwxrwx 1 root root 343 Feb 26 2014 android-info.txt
-rwxrwxrwx 1 root root 8456448 Feb 26 2014 boot_signed.img
-rwxrwxrwx 1 root root 1277952 Feb 26 2014 dt.img
-rwxrwxrwx 1 root root 13696 Feb 26 2014 dzdata_16g.hdr
-rwxrwxrwx 1 root root 18074496 Feb 26 2014 dzdata_16g.img
-rwxrwxrwx 1 root root 20848 Feb 26 2014 dzdata_32g.hdr
-rwxrwxrwx 1 root root 18354032 Feb 26 2014 dzdata_32g.img
-rwxrwxrwx 1 root root 2096384 Feb 26 2014 hboot_signedbyaa.img
-rwxrwxrwx 1 root root 4188160 Feb 26 2014 pg2fs_spcustom.img
-rwxrwxrwx 1 root root 45593600 Feb 26 2014 radio.img
-rwxrwxrwx 1 root root 834663 Feb 26 2014 ramdisk.img
-rwxrwxrwx 1 root root 801 Feb 26 2014 rcdata.img
-rwxrwxrwx 1 root root 15595776 Feb 26 2014 recovery_signed.img
-rwxrwxrwx 1 root root 195284 Feb 26 2014 rpm.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-1.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-2.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-3.img
-rwxrwxrwx 1 root root 11818 Feb 26 2014 sdi.img
-rwxrwxrwx 1 root root 216442 Feb 26 2014 sensor_hub.img
-rwxrwxrwx 1 root root 4194304 Feb 26 2014 splash1.nb0
[/SIZE][B]-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_1.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_2.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_3.img
-rwxrwxrwx 1 root root 629145600 Feb 26 2014 system_4.img
-rwxrwxrwx 1 root root 301989888 Feb 26 2014 system_5.img[/B]
[B][COLOR="Purple"]-rwxrwxrwx 1 root root 2818572288 Jan 17 16:35 system.img[/COLOR][/B][SIZE="1"]
-rwxrwxrwx 1 root root 47388 Feb 26 2014 tp_SYN3202.img
-rwxrwxrwx 1 root root 95772 Feb 26 2014 tp_SYN3508.img
-rwxrwxrwx 1 root root 95767 Feb 26 2014 tp_SYN3528.img
-rwxrwxrwx 1 root root 323002 Feb 26 2014 tz.img
-rwxrwxrwx 1 root root 4150272 Feb 26 2014 wcnss.img[/SIZE]

Step 8: Check file size of new system.img makes sense

nkk71@ubuntu:~/t/RUUDIR$
[B][COLOR="Blue"]echo 629145600+629145600+629145600+629145600+301989888 | bc[/COLOR][/B]
[B]2818572288[/B] [I]<- yep, makes sense as per the listing above[/I]

Step 9: get rid of unneeded files

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]rm -v system_*.img[/COLOR][/B]
removed `system_1.img'
removed `system_2.img'
removed `system_3.img'
removed `system_4.img'
removed `system_5.img'

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]rm -v android-info-*.txt[/COLOR][/B]
removed `android-info-1.txt'
removed `android-info-2.txt'
removed `android-info-3.txt'
removed `android-info-4.txt'
removed `android-info-5.txt'

Step 10: zip the new decryped ruu

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]zip ruu.zip *[/COLOR][/B]
adding: adsp.img (deflated 50%)
adding: android-info.txt (deflated 55%)
adding: boot_signed.img (deflated 13%)
adding: dt.img (deflated 80%)
adding: dzdata_16g.hdr (deflated 88%)
adding: dzdata_16g.img (deflated 8%)
adding: dzdata_32g.hdr (deflated 89%)
adding: dzdata_32g.img (deflated 9%)
adding: hboot_signedbyaa.img (deflated 78%)
adding: pg2fs_spcustom.img (deflated 97%)
adding: radio.img (deflated 51%)
adding: ramdisk.img (deflated 0%)
adding: rcdata.img (deflated 71%)
adding: recovery_signed.img (deflated 7%)
adding: rpm.img (deflated 49%)
adding: sbl1-1.img (deflated 42%)
adding: sbl1-2.img (deflated 42%)
adding: sbl1-3.img (deflated 42%)
adding: sdi.img (deflated 34%)
adding: sensor_hub.img (deflated 37%)
adding: splash1.nb0 (deflated 100%)
adding: system.img (deflated 50%)
adding: tp_SYN3202.img (deflated 4%)
adding: tp_SYN3508.img (deflated 2%)
adding: tp_SYN3528.img (deflated 2%)
adding: tz.img (deflated 47%)
adding: wcnss.img (deflated 60%)

Step 11: rename the decrypted ruu.zip to the original filename-decrypted

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]mv ruu.zip DEC.ZIP[/COLOR][/B]

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]ls -l[/COLOR][/B]
[SIZE="1"]total 4332549
-rwxrwxrwx 1 root root 9536512 Feb 26 2014 adsp.img
-rwxrwxrwx 1 root root 343 Feb 26 2014 android-info.txt
-rwxrwxrwx 1 root root 8456448 Feb 26 2014 boot_signed.img
-rwxrwxrwx 1 root root 1277952 Feb 26 2014 dt.img
-rwxrwxrwx 1 root root 13696 Feb 26 2014 dzdata_16g.hdr
-rwxrwxrwx 1 root root 18074496 Feb 26 2014 dzdata_16g.img
-rwxrwxrwx 1 root root 20848 Feb 26 2014 dzdata_32g.hdr
-rwxrwxrwx 1 root root 18354032 Feb 26 2014 dzdata_32g.img
-rwxrwxrwx 1 root root 2096384 Feb 26 2014 hboot_signedbyaa.img
[/SIZE][B][COLOR="Purple"]-rwxrwxrwx 1 root root 1483659274 Jan 17 16:53 DEC.ZIP[/COLOR][/B]
[SIZE="1"]-rwxrwxrwx 1 root root 4188160 Feb 26 2014 pg2fs_spcustom.img
-rwxrwxrwx 1 root root 45593600 Feb 26 2014 radio.img
-rwxrwxrwx 1 root root 834663 Feb 26 2014 ramdisk.img
-rwxrwxrwx 1 root root 801 Feb 26 2014 rcdata.img
-rwxrwxrwx 1 root root 15595776 Feb 26 2014 recovery_signed.img
-rwxrwxrwx 1 root root 195284 Feb 26 2014 rpm.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-1.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-2.img
-rwxrwxrwx 1 root root 306562 Feb 26 2014 sbl1-3.img
-rwxrwxrwx 1 root root 11818 Feb 26 2014 sdi.img
-rwxrwxrwx 1 root root 216442 Feb 26 2014 sensor_hub.img
-rwxrwxrwx 1 root root 4194304 Feb 26 2014 splash1.nb0
-rwxrwxrwx 1 root root 2818572288 Jan 17 16:35 system.img
-rwxrwxrwx 1 root root 47388 Feb 26 2014 tp_SYN3202.img
-rwxrwxrwx 1 root root 95772 Feb 26 2014 tp_SYN3508.img
-rwxrwxrwx 1 root root 95767 Feb 26 2014 tp_SYN3528.img
-rwxrwxrwx 1 root root 323002 Feb 26 2014 tz.img
-rwxrwxrwx 1 root root 4150272 Feb 26 2014 wcnss.img[/SIZE]

Step 12: verify decrypted zip integrity (and generate and md5sum if you want)

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]unzip -t DEC.ZIP[/COLOR][/B]
Archive: DEC.ZIP
testing: adsp.img OK
testing: android-info.txt OK
testing: boot_signed.img OK
testing: dt.img OK
testing: dzdata_16g.hdr OK
testing: dzdata_16g.img OK
testing: dzdata_32g.hdr OK
testing: dzdata_32g.img OK
testing: hboot_signedbyaa.img OK
testing: pg2fs_spcustom.img OK
testing: radio.img OK
testing: ramdisk.img OK
testing: rcdata.img OK
testing: recovery_signed.img OK
testing: rpm.img OK
testing: sbl1-1.img OK
testing: sbl1-2.img OK
testing: sbl1-3.img OK
testing: sdi.img OK
testing: sensor_hub.img OK
testing: splash1.nb0 OK
testing: system.img OK
testing: tp_SYN3202.img OK
testing: tp_SYN3508.img OK
testing: tp_SYN3528.img OK
testing: tz.img OK
testing: wcnss.img OK
No errors detected in compressed data of DEC.ZIP.

nkk71@ubuntu:~/t/RUUDIR$ [B][COLOR="Blue"]md5sum DEC.ZIP[/COLOR][/B]
[COLOR="Purple"]3672a6b2ef0e82673192c1af03a4c7e2 DEC.ZIP[/COLOR]

Small footnote:

I personally actually use a combination of linux and windows (due to the fact that I prefer using WinRAR), and in Windows command prompt, to concatenate the system_x.img files you can use:

copy /b system_1.img + system_2.img + system_3.img + system_4.img + system_5.img system.img

however, do not use WinRAR to compress the files as it will create a ZIP64 archive which can't be decompressed properly by fastboot/hboot

EDIT: weird-ish RUU (like the M8 3.28.401.x ones, check this

Credits:

[MENTION=1477081]joeykrim[/MENTION] for his thread (actually this one)

[MENTION=4118840]kmdm[/MENTION] for the original tool

[MENTION=456600]Flemmard[/MENTION] for the updates