Skip to content

Commit 162f528

Browse files
committed
extract dataflash
1 parent b007eb8 commit 162f528

3 files changed

Lines changed: 5 additions & 26 deletions

File tree

extract_keys.py

Lines changed: 3 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -181,9 +181,9 @@ def get_secoc_key(key_struct):
181181
erase = b"\x31\x01\xff\x00" + data
182182
isotp_send(panda, erase, ADDR, bus=BUS)
183183

184-
print("\nDumping keys...")
185-
start = 0xfebe6e34
186-
end = 0xfebe6ff4
184+
print("\nDumping dataflash...")
185+
start = 0xff200000
186+
end = 0xff208000
187187

188188
extracted = b""
189189

@@ -212,24 +212,3 @@ def get_secoc_key(key_struct):
212212

213213
start += 4
214214
pbar.update(4)
215-
216-
key_1_ok = verify_checksum(get_key_struct(extracted, 1))
217-
key_4_ok = verify_checksum(get_key_struct(extracted, 4))
218-
219-
if not key_1_ok or not key_4_ok:
220-
print("SecOC key checksum verification failed!")
221-
exit(1)
222-
223-
key_1 = get_secoc_key(get_key_struct(extracted, 1))
224-
key_4 = get_secoc_key(get_key_struct(extracted, 4))
225-
226-
print("\nECU_MASTER_KEY ", key_1.hex())
227-
print("SecOC Key (KEY_4)", key_4.hex())
228-
229-
try:
230-
from openpilot.common.params import Params
231-
params = Params()
232-
params.put("SecOCKey", key_4.hex())
233-
print("\nSecOC key written to param successfully!")
234-
except Exception:
235-
print("\nFailed to write SecOCKey param")

payload.bin

0 Bytes
Binary file not shown.

shellcode/main.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,8 +10,8 @@ void exploit() {
1010

1111
asm("di");
1212

13-
int *addr = 0xfebe6e34;
14-
while (addr < 0xfebe6ff4) {
13+
int *addr = 0xff200000;
14+
while (addr < 0xff208000) {
1515
int i = 0x10;
1616

1717
if ((*(RSCFDnCFDTMSTSp + i) & 0b110) != 0) {

0 commit comments

Comments
 (0)