Ejemplo n.º 1
0
def start(argv):
    utility = argv[:1][0]
    command = argv[1:]
    if utility in ['-h', 'help', '-help', '--help']:
        print say_help
        sys.exit()
    alpha_char = 'l'
    pattern = ''
    # service = ''
    # seed_user = ''
    file_path = ''
    passwords_file = ''
    output_name = 'base_' + "_".join(time.ctime(time.time()).replace(':', '-').split(' ')[1:-1])

    length = 8
    amount = 10000
    # deep = 0

    random_flag = False
    index_flag = False
    popular_flag = False
    leet_flag = False
    mix_flag = False
    concat_flag = False
    domains_flag = False
    logins_flag = False
    for part in partition(' '.join(command)):
        if len(part) == 1:
            if part[0] in ['-x', '-mix']:
                mix_flag = True
            elif part[0] in ['-z', '-concat']:
                concat_flag = True
            elif part[0] in ['-r', '-random']:
                random_flag = True
            elif part[0] in ['-i', '-index']:
                index_flag = True
            elif part[0] in ['-w', '-worst', '-popular']:
                # print 'worst'
                popular_flag = True
            elif part[0] in ['-t', '-leet']:
                leet_flag = True
            elif part[0] in ['-d', '-domains']:
                domains_flag = True
            elif part[0] in ['-l', '-logins']:
                logins_flag = True
        elif len(part) == 2:
            opt, arg = part
            if opt in ['-a', '-alphabet']:
                alpha_char = arg
            elif opt in ['-l', '-length']:
                length = int(arg)
            elif opt in ['-c', '-amount']:
                amount = int(arg)
            elif opt in ['-e', '-pattern']:
                if arg in ['ldd', 'uldd', 'ldddd', 'uldddd', 'ulll', 'uuu']:
                    pattern = arg
                else:
                    pattern = 'none'
            elif opt in ['-f', '-logins', '-file_path', '-emails', '-emails_file']:
                file_path = main_path + arg
            elif opt in ['-p', '-passwords', '-passwords_file']:
                passwords_file = main_path + arg
            elif opt in ['-o', '-output_name', '-output']:
                output_name = arg
    if utility == 'addpass':
        try:
            output = add_passwords(file_path, alpha_char, length, amount, pattern, random_flag, index_flag, popular_flag, leet_flag)
        except Exception as e:
            print 'addpass ' + e.message
            sys.exit()
    elif utility == 'passgen':
        try:
            output = password_generator(alpha_char, length, amount, pattern, random_flag, index_flag, popular_flag, leet_flag)
        except Exception as e:
            print 'passgen ' + e.message
            sys.exit()
    elif utility == 'join':
        try:
            output = the_join(mix_flag, concat_flag, passwords_file, file_path)
        except Exception as e:
            print 'join ' + e.message
    elif utility == 'extract':
        try:
            output = extract(logins_flag, domains_flag, file_path)
        except Exception as e:
            print 'extractor ' + e.message
            sys.exit()
    else:
        print 'Invalid utility!'
        sys.exit()

    list_to_file(output, main_path + output_name)

    return output
Ejemplo n.º 2
0
def add_passwords(file_path, alpha_char, length, amount, pattern, random_flag, index_flag, popular_flag, leet_flag):
    logins = file_to_list(file_path)
    passwords = password_generator(alpha_char, length, amount, pattern, random_flag, index_flag, popular_flag, leet_flag)
    return mix_logins_and_passwords(logins, passwords, ':')