import base64 import pb from mesht_device import FROMRADIO_SCHEMA, NODEINFO_SCHEMA, USER_SCHEMA, MESHPACKET_SCHEMA from protobuf_decoder.protobuf_decoder import Parser ## packet = "Ddg4d54VeDZ3nhgIKlwHxTE8NDD8eGEQJZ+dr51uXyYBbmqDz2eNhawRUqCrHOxVpvneHflbRZdM+TgRdQP37qZZd9A8r/HjeoSlrg78d8kXYbK/HtV7sct/4nw9ockVYGxvxeyM5gCyUjVE0aO1PXEXlmlIB1hGeAeQAXiYAdgB" data = base64.b64decode(packet) res = Parser().parse(data.hex()) print(res.to_dict(), "\n\n") dec = pb.decode(data, MESHPACKET_SCHEMA) print(dec, "\n\n") from payload_decrypter import decrypt_aes128_ctr, CUSTOM_SCHEMA, _print_result d = decrypt_aes128_ctr(base64.b64encode(dec["encrypted"]), "1PG7OiApB1nwvP+rz05pAQ==", dec["id"], dec["from"]) dec["decoded"] = pb.decode(d, CUSTOM_SCHEMA) print("CUSTOM SCHEMA",pb.decode(d, CUSTOM_SCHEMA)) del dec["encrypted"] print("DECODED", dec, "\n\n") enc = pb.encode({"packet": dec}, FROMRADIO_SCHEMA) decTwice = pb.decode(enc, FROMRADIO_SCHEMA) print(decTwice) ### #print(base64.b64decode('BtJrAGXS0BJzm9890X0uD1VawYhZ+woD5O6UI3oXUjmB')) #from bson.binary import Binary as BinData #enc = BinData('CgkhMDZmOTM5MDASEERyTzIgfCBDRU4gfCA4NjgaBERyTzIiBpAVBvk5ACgDOAxCIAvwvaWvYapqWHtbnIVK+Iil93nOk2DHMf0qMDg+Kf5XSAA='.encode("ascii"), 0) #print(enc.hex) #enc. #from protobuf_decoder.protobuf_decoder import Parser #packet = "BtJrAGXS0BJzm9890X0uD1VawYhZ+woD5O6UI3oXUjmB" #data = base64.b64decode(packet) #to_parse = ' '.join(f'{byte:02x}' for byte in data) #res = Parser().parse(enc.hex()) #print(res.to_dict()) #print(pb.decode(data, FROMRADIO_SCHEMA))