- #! /usr/bin/python
- import binascii
- import struct
- import sys, os, time
- import bluepy.btle as btle
-
- '''
-
- '''
-
- if len(sys.argv) != 2:
- print "submit password\n eg.", sys.argv[0], "<flag>"
- quit()
-
- deviceMAC = open('ctf_mac.txt').read()
- p = btle.Peripheral(deviceMAC)
- print ("Attached to peripheral")
-
- flag = sys.argv[1]
-
- print("Submitting Password")
- p.writeCharacteristic(0x2E, flag, withResponse=False)
-
- scoreboard = p.getServiceByUUID(0xFF)
- q = scoreboard.getCharacteristics()
- for characteristic in q:
- hex1 = int(format(characteristic.getHandle(),'02X'), 16)
- if (characteristic.supportsRead()):
- hexlif2 = characteristic.read()
- print (str(hex1)+" 0x"+ format(characteristic.getHandle(),'02X') +" "+ characteristic.propertiesToString() + " " + hexlif2)
- else:
- print (str(hex1)+" 0x"+ format(characteristic.getHandle(),'02X') +" "+ characteristic.propertiesToString() )
-
- p.disconnect()