Ik analyseer een embedded systeem met QNX op armle, uname -a
identificeert het als:
QNX mmx 6.5.0 2012/06 / 20-13 : 49: 13EDT nVidia_Tegra2 (T20) _Devlite_Boards armle
Firmware-updates worden geleverd met een bestand met de naam metainfo2.txt
dat altijd eindigt met een kenmerkend blok, bijvoorbeeld:
[Handtekening] handtekening1 = "a73e111de512e09bad2dc08eff685a38" signature2 = "4fc032192a20fd1e242ad64af5b509a7" signature3 = "6a7432f754aff0d6b74a7ec2072cbb11" signature4 = "e91f68f569508b77712d1869edd6d0b9" signature5 = "923eb77ba815dba8e44d5e09412cdf2e" signature6 = "830518f3b38d48df892a3a0c65cc67f1" signature7 = "09e5e0f5f06ce0376d032ab21051510f" signature8 = "3dab7f75fcdf54a96d8aa7f3c617f76d "
Dit lijkt erop dat het een RSA-codering is en wordt gebruikt om te bepalen of de bestandsinhoud is gewijzigd. Ik denk dat het een hash is van een bepaalde sectie van het bestand: MetafileChecksum = "ec5afd6459c3579ebed8841cc41fe17bb61b814d"
Ik heb een map met publieke sleutels gevonden die een submap heeft naam MetainfoKey en bevat waarschijnlijk de publieke sleutel, een bestand van 288 bytes:
C0 F3 89 EE C7 B6 6C 9D C7 36 50 8F F8 8A EB 1FB1 13 94 2E AD 02 08 14 D0 8D 29 E8 68 F1 4B 2086 BC D7 DD CC BA 75 59 F9 99 E7 6D 24 61 96 60BB E1 74 34 DA 59 98 80 87 F2 A9 9C D4 65 B1 FF42 35 22 B7 8C B0 DE 46 3A 66 96 13 D3 56 DF A9E8 6E 0E 2E 0B 6D AB 5D E8 91 31 C5 A0 72 7A EAB1 76 72 78 AB 10 1D CD 9C 3C FC 10 26 70 5C 1DAB 3B F5 3B F5 0A FA FB 3F 52 DA 2C EB 0B EE 5700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0000 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0383 0A CD 65 56 FC 2F B4 7B 1B 67 43 12 E3 4E 7A0A AD 1E DF BA 7E B2 79 D9 51 3A DB 10 16 61 4813 1B BA 9C 85 2A B7 01 91 49 16 65 62 94 61 6BB1 A9 B8 F8 46 2E BC 20 6D E5 7F 53 AF EF 00 0053 AB 8E 4F 63 29 BF 00 B0 ED 45 E8 E9 20 67 8EF6 7A F8 BC CB 7B 4D CF 88 01 59 BB CB F1 B1 04D4 A1 C0 57 70 AA D7 38 E8 BD 9A 28 4E 94 99 5CB7 96 49 28 5A C4 04 9C 6B 57 8F C5 4F 74 6A C9
Mijn doel is om metainfo2.txt
te kunnen wijzigen en een mogelijke methode zou kunnen zijn om de openbare sleutel te vervangen door een nieuwe, maar ik moet begrijpen hoe de handtekeningsectie wordt gebruikt om de inhoud van het bestand. Ik ben op zoek naar antwoorden of aanwijzingen om dit te bereiken ...