- #! /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()