mirror of https://github.com/commaai/tinygrad.git
21 lines
533 B
Python
21 lines
533 B
Python
import ctypes
|
|
import os
|
|
import pathlib
|
|
from hexdump import hexdump
|
|
|
|
fxn = None
|
|
def disasm_raw(buf):
|
|
global fxn
|
|
if fxn is None:
|
|
shared = pathlib.Path(__file__).parent / "disasm.so"
|
|
if not shared.is_file():
|
|
os.system(f'cd {pathlib.Path(__file__).parent} && gcc -shared disasm-a3xx.c -o disasm.so')
|
|
fxn = ctypes.CDLL(shared.as_posix())['disasm']
|
|
fxn(buf, len(buf))
|
|
|
|
def disasm(buf):
|
|
END = b"\x00\x00\x00\x00\x00\x00\x00\x03"
|
|
buf = buf[0x510:] # this right?
|
|
buf = buf.split(END)[0] + END
|
|
disasm_raw(buf)
|