import struct filepath = r"c:\Users\MattyMroz\Desktop\PROJECTS\ONEOCR\ocr_data\oneocr.onemodel" with open(filepath, "rb") as f: data = f.read(23000) # read a bit more than 22636 f.seek(0, 2) filesize = f.tell() print(f"File size: {filesize} bytes ({filesize/1024/1024:.2f} MB)") print() # Hex dump first 512 bytes print("=== First 512 bytes hex dump ===") for i in range(0, 512, 16): hex_part = " ".join(f"{b:02x}" for b in data[i:i+16]) ascii_part = "".join(chr(b) if 32 <= b < 127 else "." for b in data[i:i+16]) print(f"{i:08x}: {hex_part:<48s} {ascii_part}") print() print("=== uint32 LE values at key offsets ===") for off in range(0, 64, 4): val = struct.unpack_from("= 4 chars found in header") # Check for potential magic numbers print() print("=== Magic number checks at offset 0 ===") print(f" Bytes 0-3: {data[0:4].hex()}") print(f" Bytes 0-7: {data[0:8].hex()}") print(f" As string: {data[0:8]}") # Look for repeating 4-byte patterns print() print("=== Byte frequency in first 64 bytes ===") for i in range(64): if i % 16 == 0: print(f" {i:3d}: ", end="") print(f"{data[i]:3d}", end=" ") if i % 16 == 15: print() # Check if header has structure - look for uint32 values that could be offsets/sizes print() print("=== Potential offset/size table at start ===") for i in range(0, min(256, len(header)), 4): val = struct.unpack_from("