#! /usr/bin/python
import binascii
import struct
import sys, os, time
import bluepy.btle as btle
chall_uuid = 0x32
score_uuid = 0x00ff
deviceMAC = open('ctf_mac.txt').read()
p = btle.Peripheral(deviceMAC)
print ("Attached to peripheral")
services=p.getServices()
print("Resetting scoreboard")
hex1 = binascii.unhexlify("C1EA12")
response = p.writeCharacteristic(chall_uuid, hex1, True)
#print (response)
scoreboard = p.getServiceByUUID(score_uuid)
#print(scoreboard)
q = scoreboard.getCharacteristics()
for characteristic in q:
hex1 = int(format(characteristic.getHandle(),'02X'), 16)
if (characteristic.supportsRead()):
hex2 = binascii.b2a_hex(p.readCharacteristic(hex1))
hexlif2 = binascii.unhexlify(hex2)
print (str(hex1)+" 0x"+ format(characteristic.getHandle(),'02X') +" "+ characteristic.propertiesToString() + " " + hexlif2)
p.disconnect()