Skip to content

Commit 620f7e1

Browse files
committed
extract dataflash
1 parent 4693f50 commit 620f7e1

File tree

3 files changed

+5
-26
lines changed

3 files changed

+5
-26
lines changed

extract_keys.py

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

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

189189
extracted = b""
190190

@@ -213,24 +213,3 @@ def get_secoc_key(key_struct):
213213

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