from glob import glob from struct import unpack import json import sys def readint(f): return unpack(" 999 or max_pid > 999: break lic_type = readint(f) if lic_type > 6: break if lic_type == 2 and int(bink_id, 16) % 2 == 1: lic_type_str = "OEM-COA" else: lic_type_str = lic_types[lic_type] days_to_act = readint(f) eval_days = readint(f) sig_len = readint(f) f.read(sig_len) dpcdata.append({ "index": ind, "bink": bink_id, "pid_range": [min_pid, max_pid], "type": lic_type_str, "days_to_activate": days_to_act, "days_evaluation": eval_days }) with open(sys.argv[2], "w") as f: f.write(json.dumps(dpcdata, indent=4))