#!/usr/bin/env python2.7
# (c) flatz
import sys, os, struct
import argparse
import shutil
from hexdump import hexdump
from pprint import pprint
def align_up(x, alignment):
return (x + (alignment - 1)) & ~(alignment - 1)
def align_down(x, alignment):
return x & ~(alignment - 1)
def is_intervals_overlap(p1, p2):
return p1[0] <= p2[1] and p1[1] <= p2[0]
def check_file_magic(f, expected_magic):
old_offset = f.tell()
try:
magic = f.read(len(expected_magic))
except:
return False
finally:
f.seek(old_offset)
return magic == expected_magic
def check_sdk_version(sdk_version):
if len(sdk_version) != 10:
return False
parts = sdk_version.split('.', 2)
if len(parts) != 3:
return False
try:
lengths = [2...