Je me demandais si cela était toujours possible et j'ai donc tenté de réitérer l'expérience. Mais après avoir modifié la version dans le fichier HPPrime_OS.img, la calculatrice rejette ma mise à jour, car considéré comme invalide.
J'imagine donc qu'il s'agit soit d'un checksum soit d'une signature. Toutefois, en tentant de démystifier les fichiers contenus dans ce fichier à l'aide de ce script, je trouve des fichiers complètement différents de ce qui était indiqués dans le post précédent: viewtopic.php?f=55&t=21758&start=20#p234397
- Code: Select all
File size is 17602496 (0x10C97C0) bytes
Block #0 at offset 4 (0x4):
Block size 8031248 (0x7A8C10), data size 8031242 (0x7A8C0A), header size 4 (0x4)
Name: 'HPPrime.img'
Block #1 at offset 8031252 (0x7A8C14):
Block size 354240 (0x567C0), data size 354235 (0x567BB), header size 4 (0x4)
Name: 'bootloader.img'
Block #2 at offset 8385492 (0x7FF3D4):
Block size 4288 (0x10C0), data size 4281 (0x10B9), header size 12 (0xC)
Name: 'files.sig'
Block #3 at offset 8389780 (0x800494):
Block size 26324 (0x66D4), data size 26317 (0x66CD), header size 12 (0xC)
Name: 'Bridge.jpg'
Block #4 at offset 8416104 (0x806B68):
Block size 23840 (0x5D20), data size 23834 (0x5D1A), header size 12 (0xC)
Name: 'Coins.jpg'
Block #5 at offset 8439944 (0x80C888):
Block size 612 (0x264), data size 607 (0x25F), header size 16 (0x10)
Name: 'Custom_App.prgm'
Block #6 at offset 8440556 (0x80CAEC):
Block size 752 (0x2F0), data size 747 (0x2EB), header size 24 (0x18)
Name: 'dark_grad.hpthemepng'
Block #7 at offset 8441308 (0x80CDDC):
Block size 764 (0x2FC), data size 760 (0x2F8), header size 24 (0x18)
Name: 'dark_menu.hpthemepng'
Block #8 at offset 8442072 (0x80D0D8):
Block size 1104 (0x450), data size 1100 (0x44C), header size 16 (0x10)
Name: 'Demo_ARC.prgm'
Block #9 at offset 8443176 (0x80D528):
Block size 1136 (0x470), data size 1131 (0x46B), header size 16 (0x10)
Name: 'Demo_ARC_P.prgm'
Block #10 at offset 8444312 (0x80D998):
Block size 1248 (0x4E0), data size 1242 (0x4DA), header size 16 (0x10)
Name: 'Demo_BLIT.prgm'
Block #11 at offset 8445560 (0x80DE78):
Block size 1296 (0x510), data size 1291 (0x50B), header size 20 (0x14)
Name: 'Demo_BLIT_P.prgm'
Block #12 at offset 8446856 (0x80E388):
Block size 192 (0xC0), data size 188 (0xBC), header size 16 (0x10)
Name: 'Demo_BREAK.prgm'
Block #13 at offset 8447048 (0x80E448):
Block size 580 (0x244), data size 573 (0x23D), header size 16 (0x10)
Name: 'Demo_CASE.prgm'
Block #14 at offset 8447628 (0x80E68C):
Block size 316 (0x13C), data size 311 (0x137), header size 20 (0x14)
Name: 'Demo_CONTINUE.prgm'
Block #15 at offset 8447944 (0x80E7C8):
Block size 1244 (0x4DC), data size 1238 (0x4D6), header size 20 (0x14)
Name: 'Demo_DIMGROB.prgm'
Block #16 at offset 8449188 (0x80ECA4):
Block size 1240 (0x4D8), data size 1234 (0x4D2), header size 20 (0x14)
Name: 'Demo_DIMGROB_P.prgm'
Block #17 at offset 8450428 (0x80F17C):
Block size 216 (0xD8), data size 211 (0xD3), header size 20 (0x14)
Name: 'Demo_Export.prgm'
Block #18 at offset 8450644 (0x80F254):
Block size 784 (0x310), data size 777 (0x309), header size 20 (0x14)
Name: 'Demo_FILLPOLY.prgm'
Block #19 at offset 8451428 (0x80F564):
Block size 796 (0x31C), data size 791 (0x317), header size 24 (0x18)
Name: 'Demo_FILLPOLY_P.prgm'
Block #20 at offset 8452224 (0x80F880):
Block size 184 (0xB8), data size 179 (0xB3), header size 16 (0x10)
Name: 'Demo_FOR.prgm'
Block #21 at offset 8452408 (0x80F938):
Block size 2160 (0x870), data size 2156 (0x86C), header size 20 (0x14)
Name: 'Demo_GETPIX.prgm'
Block #22 at offset 8454568 (0x8101A8):
Block size 2172 (0x87C), data size 2167 (0x877), header size 20 (0x14)
Name: 'Demo_GETPIX_P.prgm'
Block #23 at offset 8456740 (0x810A24):
Block size 216 (0xD8), data size 211 (0xD3), header size 20 (0x14)
Name: 'Demo_GETSIDES.prgm'
Block #24 at offset 8456956 (0x810AFC):
Block size 164 (0xA4), data size 159 (0x9F), header size 16 (0x10)
Name: 'Demo_IF.prgm'
Block #25 at offset 8457120 (0x810BA0):
Block size 160 (0xA0), data size 155 (0x9B), header size 16 (0x10)
Name: 'Demo_IFERR.prgm'
Block #26 at offset 8457280 (0x810C40):
Block size 1252 (0x4E4), data size 1246 (0x4DE), header size 20 (0x14)
Name: 'Demo_INVERT.prgm'
Block #27 at offset 8458532 (0x811124):
Block size 1208 (0x4B8), data size 1203 (0x4B3), header size 20 (0x14)
Name: 'Demo_INVERT_P.prgm'
Block #28 at offset 8459740 (0x8115DC):
Block size 228 (0xE4), data size 224 (0xE0), header size 16 (0x10)
Name: 'Demo_KILL.prgm'
Block #29 at offset 8459968 (0x8116C0):
Block size 688 (0x2B0), data size 682 (0x2AA), header size 16 (0x10)
Name: 'Demo_LINE.prgm'
Block #30 at offset 8460656 (0x811970):
Block size 700 (0x2BC), data size 694 (0x2B6), header size 20 (0x14)
Name: 'Demo_LINE_P.prgm'
Block #31 at offset 8461356 (0x811C2C):
Block size 152 (0x98), data size 146 (0x92), header size 16 (0x10)
Name: 'Demo_LOCAL.prgm'
Block #32 at offset 8461508 (0x811CC4):
Block size 396 (0x18C), data size 389 (0x185), header size 20 (0x14)
Name: 'Demo_PISERIES.prgm'
Block #33 at offset 8461904 (0x811E50):
Block size 404 (0x194), data size 399 (0x18F), header size 24 (0x18)
Name: 'Demo_PISERIES_P.prgm'
Block #34 at offset 8462308 (0x811FE4):
Block size 1520 (0x5F0), data size 1515 (0x5EB), header size 16 (0x10)
Name: 'Demo_RECT.prgm'
Block #35 at offset 8463828 (0x8125D4):
Block size 1536 (0x600), data size 1530 (0x5FA), header size 20 (0x14)
Name: 'Demo_RECT_P.prgm'
Block #36 at offset 8465364 (0x812BD4):
Block size 168 (0xA8), data size 164 (0xA4), header size 20 (0x14)
Name: 'Demo_REPEAT.prgm'
Block #37 at offset 8465532 (0x812C7C):
Block size 192 (0xC0), data size 187 (0xBB), header size 20 (0x14)
Name: 'Demo_RETURN.prgm'
Block #38 at offset 8465724 (0x812D3C):
Block size 1824 (0x720), data size 1820 (0x71C), header size 20 (0x14)
Name: 'Demo_ROTATE.prgm'
Block #39 at offset 8467548 (0x81345C):
Block size 864 (0x360), data size 859 (0x35B), header size 20 (0x14)
Name: 'Demo_SUBGROB.prgm'
Block #40 at offset 8468412 (0x8137BC):
Block size 464 (0x1D0), data size 458 (0x1CA), header size 20 (0x14)
Name: 'Demo_SUBGROB_P.prgm'
Block #41 at offset 8468876 (0x81398C):
Block size 2480 (0x9B0), data size 2475 (0x9AB), header size 24 (0x18)
Name: 'Demo_Tetrahedron.prgm'
Block #42 at offset 8471356 (0x81433C):
Block size 2184 (0x888), data size 2180 (0x884), header size 24 (0x18)
Name: 'Demo_Tetrahedron_P.prgm'
Block #43 at offset 8473540 (0x814BC4):
Block size 744 (0x2E8), data size 737 (0x2E1), header size 20 (0x14)
Name: 'Demo_TEXTOUT.prgm'
Block #44 at offset 8474284 (0x814EAC):
Block size 416 (0x1A0), data size 409 (0x199), header size 20 (0x14)
Name: 'Demo_TEXTOUT_P.prgm'
Block #45 at offset 8474700 (0x81504C):
Block size 1020 (0x3FC), data size 1014 (0x3F6), header size 20 (0x14)
Name: 'Demo_TRIANGLE.prgm'
Block #46 at offset 8475720 (0x815448):
Block size 904 (0x388), data size 900 (0x384), header size 24 (0x18)
Name: 'Demo_TRIANGLE_P.prgm'
Block #47 at offset 8476624 (0x8157D0):
Block size 168 (0xA8), data size 162 (0xA2), header size 16 (0x10)
Name: 'Demo_WHILE.prgm'
Block #48 at offset 8476792 (0x815878):
Block size 4336 (0x10F0), data size 4331 (0x10EB), header size 12 (0xC)
Name: 'Eclipse.jpg'
Block #49 at offset 8481128 (0x816968):
Block size 752 (0x2F0), data size 747 (0x2EB), header size 24 (0x18)
Name: 'exam_grad.hpthemepng'
Block #50 at offset 8481880 (0x816C58):
Block size 27708 (0x6C3C), data size 27702 (0x6C36), header size 12 (0xC)
Name: 'Garden.jpg'
Block #51 at offset 8509588 (0x81D894):
Block size 519132 (0x7EBDC), data size 519126 (0x7EBD6), header size 20 (0x14)
Name: 'HelpDe.hpresource'
Block #52 at offset 9028720 (0x89C470):
Block size 583956 (0x8E914), data size 583949 (0x8E90D), header size 20 (0x14)
Name: 'HelpEn.hpresource'
Block #53 at offset 9612676 (0x92AD84):
Block size 474804 (0x73EB4), data size 474799 (0x73EAF), header size 20 (0x14)
Name: 'HelpEs.hpresource'
Block #54 at offset 10087480 (0x99EC38):
Block size 495520 (0x78FA0), data size 495515 (0x78F9B), header size 20 (0x14)
Name: 'HelpFr.hpresource'
Block #55 at offset 10583000 (0xA17BD8):
Block size 390280 (0x5F488), data size 390275 (0x5F483), header size 20 (0x14)
Name: 'HelpJa.hpresource'
Block #56 at offset 10973280 (0xA77060):
Block size 491728 (0x780D0), data size 491724 (0x780CC), header size 20 (0x14)
Name: 'HelpNl.hpresource'
Block #57 at offset 11465008 (0xAEF130):
Block size 484032 (0x762C0), data size 484028 (0x762BC), header size 20 (0x14)
Name: 'HelpPt.hpresource'
Block #58 at offset 11949040 (0xB653F0):
Block size 314720 (0x4CD60), data size 314716 (0x4CD5C), header size 20 (0x14)
Name: 'HelpRu.hpresource'
Block #59 at offset 12263760 (0xBB2150):
Block size 316032 (0x4D280), data size 316028 (0x4D27C), header size 20 (0x14)
Name: 'HelpZh.hpresource'
Block #60 at offset 12579792 (0xBFF3D0):
Block size 21032 (0x5228), data size 21028 (0x5224), header size 12 (0xC)
Name: 'Hexagon.jpg'
Block #61 at offset 12600824 (0xC045F8):
Block size 704 (0x2C0), data size 698 (0x2BA), header size 20 (0x14)
Name: 'ip_con.hpthemepng'
Block #62 at offset 12601528 (0xC048B8):
Block size 724 (0x2D4), data size 720 (0x2D0), header size 20 (0x14)
Name: 'ip_dis.hpthemepng'
Block #63 at offset 12602252 (0xC04B8C):
Block size 228 (0xE4), data size 224 (0xE0), header size 16 (0x10)
Name: 'ISPERFECT.prgm'
Block #64 at offset 12602480 (0xC04C70):
Block size 816 (0x330), data size 812 (0x32C), header size 24 (0x18)
Name: 'light_grad.hpthemepng'
Block #65 at offset 12603296 (0xC04FA0):
Block size 880 (0x370), data size 873 (0x369), header size 24 (0x18)
Name: 'light_menu.hpthemepng'
Block #66 at offset 12604176 (0xC05310):
Block size 37932 (0x942C), data size 37926 (0x9426), header size 12 (0xC)
Name: 'Louvre.jpg'
Block #67 at offset 12642108 (0xC0E73C):
Block size 16020 (0x3E94), data size 16016 (0x3E90), header size 16 (0x10)
Name: 'Nautilus.jpg'
Block #68 at offset 12658128 (0xC125D0):
Block size 1588 (0x634), data size 1583 (0x62F), header size 24 (0x18)
Name: 'nordic_con.hpthemepng'
Block #69 at offset 12659716 (0xC12C04):
Block size 1660 (0x67C), data size 1654 (0x676), header size 24 (0x18)
Name: 'nordic_dis.hpthemepng'
Block #70 at offset 12661376 (0xC13280):
Block size 192 (0xC0), data size 185 (0xB9), header size 20 (0x14)
Name: 'PERFECTNUMS.prgm'
Block #71 at offset 12661568 (0xC13340):
Block size 102232 (0x18F58), data size 102228 (0x18F54), header size 20 (0x14)
Name: 'PrimeSansBold.ttf'
Block #72 at offset 12763800 (0xC2C298):
Block size 4613556 (0x4665B4), data size 4613552 (0x4665B0), header size 20 (0x14)
Name: 'PrimeSansFull.ttf'
Block #73 at offset 17377356 (0x109284C):
Name: 'PrimeSansMono.ttf'
Block #74 at offset 17421612 (0x109D52C):
Block size 5968 (0x1750), data size 5961 (0x1749), header size 12 (0xC)
Name: 'Rocket.jpg'
Block #75 at offset 17427580 (0x109EC7C):
Block size 5204 (0x1454), data size 5198 (0x144E), header size 12 (0xC)
Name: 'Saturn.jpg'
Block #76 at offset 17432784 (0x10A00D0):
Block size 21948 (0x55BC), data size 21944 (0x55B8), header size 16 (0x10)
Name: 'Skatepark.jpg'
Block #77 at offset 17454732 (0x10A568C):
Block size 25664 (0x6440), data size 25660 (0x643C), header size 12 (0xC)
Name: 'Slices.jpg'
Block #78 at offset 17480396 (0x10ABACC):
Block size 16804 (0x41A4), data size 16798 (0x419E), header size 12 (0xC)
Name: 'Spiral.jpg'
Block #79 at offset 17497200 (0x10AFC70):
Block size 22364 (0x575C), data size 22360 (0x5758), header size 12 (0xC)
Name: 'Stairs.jpg'
Block #80 at offset 17519564 (0x10B53CC):
Block size 27536 (0x6B90), data size 27531 (0x6B8B), header size 12 (0xC)
Name: 'Stream.jpg'
Block size 18296 (0x4778), data size 18289 (0x4771), header size 12 (0xC)
Name: 'Theater.jpg'
Block #82 at offset 17565396 (0x10C06D4):
Name: 'Tiles.jpg'
Block #83 at offset 17595032 (0x10C7A98):
Block size 5260 (0x148C), data size 5256 (0x1488), header size 12 (0xC)
Name: 'Tunnel.prgm'
Block #84 at offset 17600292 (0x10C8F24):
Block size 1132 (0x46C), data size 1125 (0x465), header size 24 (0x18)
Name: 'wireless_con.hpthemepng'
Block #85 at offset 17601424 (0x10C9390):
Block size 1072 (0x430), data size 1067 (0x42B), header size 24 (0x18)
Name: 'wireless_dis.hpthemepng'
Block #0 'HPPrime.img'
Hash: A43DBB7A169CC5C38689AC46F4F76CCA59805679418D68328CE666B5CAFAFF41
Block #1 'bootloader.img'
Hash: 425C822517B753AD49A1FA8ED39C1E89AC5797F8A389174476460D5B74D8C344
Block #2 'files.sig'
Hash: F3D0E533ADE29D8889E4E0C09BCD6B1245F7AB9574EB6BB40C080EAA977F4860
Il y a ici 3 fichiers principaux: HHPrime.img, bootloader.img, and files.sig.
De plus avec binwalk j'obtiens:
- Code: Select all
C:\Users\[REDACTED]\Documents\HP_RE\HPPrime_OS_latest.img
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
DECIMAL HEXADECIMAL DESCRIPTION
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
4086420 0x3E5A94 CRC32 polynomial table, little endian
4145116 0x3F3FDC CRC32 polynomial table, little endian
4150408 0x3F5488 AES S-Box
4150664 0x3F5588 AES S-Box
5437024 0x52F660 Zlib compressed file, total size: 16 bytes
5841018 0x59207A GPG signed file, total size: 12 bytes
7089540 0x6C2D84 SHA256 hash constants, little endian
8389808 0x8004B0 JPEG image, total size: 5921 bytes
8440596 0x80CB14 PNG image, total size: 711 bytes
8441348 0x80CE04 PNG image, total size: 724 bytes
8481168 0x816990 PNG image, total size: 711 bytes
10190723 0x9B7F83 GPG signed file, total size: 8 bytes
10440748 0x9F502C Zlib compressed file, total size: 52 bytes
10450301 0x9F757D Zlib compressed file, total size: 33 bytes
10525628 0xA09BBC Zlib compressed file, total size: 59 bytes
10674499 0xA2E143 Zlib compressed file, total size: 11 bytes
10675517 0xA2E53D Zlib compressed file, total size: 84 bytes
10776083 0xA46E13 Zlib compressed file, total size: 57 bytes
10964777 0xA74F29 GPG signed file, total size: 10 bytes
10964789 0xA74F35 GPG signed file, total size: 19 bytes
12378475 0xBCE16B GPG signed file, total size: 63 bytes
12600860 0xC0461C PNG image, total size: 666 bytes
12601564 0xC048DC PNG image, total size: 688 bytes
12602520 0xC04C98 PNG image, total size: 776 bytes
12603336 0xC04FC8 PNG image, total size: 837 bytes
12658168 0xC125F8 PNG image, total size: 1547 bytes
12659756 0xC12C2C PNG image, total size: 1618 bytes
12746683 0xC27FBB GPG signed file, total size: 24 bytes
12746725 0xC27FE5 GPG signed file, total size: 20 bytes
14297163 0xDA284B GPG signed file, total size: 28 bytes
15327102 0xE9DF7E Zlib compressed file, total size: 31 bytes
15775173 0xF0B5C5 GPG signed file, total size: 18 bytes
16634196 0xFDD154 Zlib compressed file, total size: 21 bytes
17457167 0x10A600F Zlib compressed file, total size: 83 bytes
17600332 0x10C8F4C PNG image, total size: 1089 bytes
17601464 0x10C93B8 PNG image, total size: 1031 bytes
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
On voit donc des tables CRC32, du SHA256 et du GPG, et là, je suis complètement perdu
Donc voilà ma question est-ce quelqu'un pourrait m'éclairer sur comment ce système d'update fonctionne. Et est-ce que c'est même encore possible de modifier l'OS de cette façon, ou est-ce que HP a commencé à signer ses updates?
Merci d'avance