BroadcomVideoCore » History » Version 2
Denis 'GNUtoo' Carikli, 02/24/2020 03:10 AM
1 | 1 | Denis 'GNUtoo' Carikli | h1. BroadcomVideoCore |
---|---|---|---|
2 | |||
3 | 2 | Denis 'GNUtoo' Carikli | h2. Devices |
4 | |||
5 | The Raspberry PI don't use code signature, but smartphones using the same SOC may have it enabled. |
||
6 | |||
7 | h2. IRC Logs to sort |
||
8 | |||
9 | 1 | Denis 'GNUtoo' Carikli | <pre> |
10 | 03:00 < clever> ive also cracked the signing keys on the rpi4 fully, and now know how they get generated |
||
11 | 03:01 < clever> so i could (in theory) re-extract them from another broadcom product in the future, with less effort |
||
12 | [...] |
||
13 | 03:01 < clever> assuming i get execute on the VPU somehow |
||
14 | [...] |
||
15 | 03:03 < clever> basically, there is 20 bytes of "salt" in the mask rom, which gets combined with 16 bytes from the OTP, to create the real 20byte hmac-sha1 |
||
16 | key |
||
17 | 03:04 < clever> you need to understand how .data gets copied from rom->ram (since its an XIP rom), and then find the code that merges the 2, to know what |
||
18 | offset in ram to read |
||
19 | [...] |
||
20 | 03:08 < clever> GNUtoo: but, ive also heard that the 2nd revision of the mask rom, has proper pub/priv RSA support |
||
21 | 03:08 < clever> if they choose to turn that on, we are screwed |
||
22 | [...] |
||
23 | 03:15 < clever> all of the broadcom chips in the pi's, have ~60 OTP registers, each 32 bits wide |
||
24 | [...] |
||
25 | 03:16 < clever> got a total of ~268 bytes of OTP |
||
26 | 03:16 < clever> for* |
||
27 | [...] |
||
28 | < clever> GNUtoo: i do also have some new info on the rpi4 mask rom boot order, that you might |
||
29 | want in the wiki |
||
30 | 03:19 < clever> GNUtoo: the rpi4, can boot from 3 places, in this order: #1 recovery.bin on the SD card, |
||
31 | #2 a tagged blob in SPI flash, #3 usb-device boot |
||
32 | 03:19 < clever> GNUtoo: but, you can use OTP to configure any gpio pin, to disable #1 or #2 (and you can |
||
33 | set 2 pins, one for each) |
||
34 | [...] |
||
35 | 03:22 < clever> 2020-02-21 16:25:14 < clever> for extra confusion, there are 2 sets of numbers for each SoC |
||
36 | 03:22 < clever> 2020-02-21 16:27:12 < clever> ali1234: 2838 and 2711 are both rpi4 |
||
37 | 03:22 < clever> 2020-02-21 16:27:47 < clever> ali1234: 2835 and 2708 are rpi1, i think |
||
38 | 03:22 < clever> so the rpi4 is called both bcm2838 and bcm2711 |
||
39 | 03:22 < clever> i think one is for the base model, and then the other for this specific implementation of the silicon and package |
||
40 | </pre> |