From 963517b79eeb794bace8545a8e7f9c3d10f1f869 Mon Sep 17 00:00:00 2001 From: Mike Crute Date: Tue, 18 Jul 2017 03:51:43 +0000 Subject: Commit lingering notes --- reversing_tools/parse_mitm.py | 15 +++++++++------ reversing_tools/parse_pcap.py | 31 +++++++++++++++++++++---------- 2 files changed, 30 insertions(+), 16 deletions(-) diff --git a/reversing_tools/parse_mitm.py b/reversing_tools/parse_mitm.py index ef61298..e59ce73 100755 --- a/reversing_tools/parse_mitm.py +++ b/reversing_tools/parse_mitm.py @@ -1,6 +1,7 @@ #!/usr/bin/env python -import sys, os +import sys +import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'python')) import json @@ -11,7 +12,7 @@ from inform import InformSerializer def make_serializer(from_file): with open(from_file) as fp: - keystore = { i['mac']: i['x_authkey'] for i in json.load(fp) } + keystore = {i['mac']: i['x_authkey'] for i in json.load(fp)} return InformSerializer("", keystore) @@ -23,14 +24,16 @@ def dumps_pretty(obj): if __name__ == "__main__": ser = make_serializer("data/devices.json") - with open('data/mitm/reboot.txt', 'rb') as fp, open('test.out', 'w') as fp2: + with open('data/mitm/onoff.txt', 'rb') as fp, open('test.out', 'w') as fp2: read = FlowReader(fp) for rec in read.stream(): res = ser.parse(StringIO(rec.response.content)) req = ser.parse(StringIO(rec.request.content)) - print dumps_pretty(req.payload) - print dumps_pretty(res.payload) - print + # print req.payload + if res.payload['_type'] == 'cmd': + print dumps_pretty(res.payload) + # print dumps_pretty(req.payload) + # print dumps_pretty(res.payload) print diff --git a/reversing_tools/parse_pcap.py b/reversing_tools/parse_pcap.py index ed6f465..3668379 100755 --- a/reversing_tools/parse_pcap.py +++ b/reversing_tools/parse_pcap.py @@ -1,6 +1,7 @@ #!/usr/bin/env python -import sys, os +import sys +import os sys.path.insert(0, os.path.join(os.path.dirname(__file__), '..', 'python')) import dpkt @@ -47,17 +48,27 @@ def collect_records(from_file): def make_serializer(from_file): with open(from_file) as fp: - keystore = { i['mac']: i['x_authkey'] for i in json.load(fp) } + keystore = {i['mac']: i['x_authkey'] for i in json.load(fp)} return InformSerializer("", keystore) if __name__ == "__main__": - ser = make_serializer("devices.json") - - for i, data in enumerate(collect_records("mfi.out")): - try: - packet = ser.parse(StringIO(data)) - print packet.raw_payload - except ValueError: - pass + import glob + ser = make_serializer("data/devices.json") + + for file in glob.glob("data/test_files/*.bin"): + fn, ext = os.path.splitext(file) + path = os.path.dirname(fn) + fn = os.path.basename(fn) + + with open(file) as fin, open(os.path.join(path, fn + ".txt"), 'w') as fout: + json.dump(json.loads(ser.parse(fin).raw_payload), fout, sort_keys=True, + indent=4, separators=(',', ': ')) + +# for i, data in enumerate(collect_records("mfi.out")): +# try: +# packet = ser.parse(StringIO(data)) +# print packet.raw_payload +# except ValueError: +# pass -- cgit v1.2.3