Генератор CC + Full Info [Python]

  • Автор темы Admin

Admin

#1
Администратор
Регистрация
31.12.2019
Сообщения
6,460
Реакции
9
Несколько дней назад мне перепал архив с 1+ лямами строк различных сс. Как оказалось, в этом архиве даже номера карт были невалид.
Мне стало интересно откуда тогда этот архив взялся (я его нашел на старом сервере) и кто его автор.
По итогу вместо поисков мне почему-то стало интересна эта тема и я решил сесть за написание скрипта на питоне, который бы генерировал данные от карт + фул инфу о кх.
Зачем я это делал? Не знаю. Возможно видел в этом какую-то перспективу, если бы существовал какой нибудь чекер, который мог прогнать условные 1 миллион сс.
Так же была идея сесть за написание скрипта, который бы генерировал все возможные комбинации срока карты + цвв, от указанного номера карты.


Есть две версии этого скрипта.
Первая версия генерирует номер карты случайно, нужно лишь указать тип карты (виза\мастеркард и т.д)
Вторая версия генерирует номер карты по нужному для вас бину.


Я скину обе. Может кому-то пригодится.
Заранее извините за говно-код. Лепил это для себя, а не на продакшн.


#pip install Faker


Код:
import random
from faker import Faker
fakeit = Faker()






gen = int(input("Введите количество для генерации сс: "))
f = open("cc.txt", 'w')


for card in range (gen):
     np = str(fakeit.credit_card_number(card_type='visa')) + "|" +  str(random.randint(2, 12)).zfill(2) + "|" + str(random.randint(2021,  2025)) + "|" + str(fakeit.credit_card_security_code()) + "|" +  str(fakeit.name()) + "|" + str(fakeit.date_of_birth(tzinfo=None,  minimum_age=20, maximum_age=55)) + "|" + str(fakeit.building_number()) +  " " + str(fakeit.city()) + " " + " " + str(fakeit.street_address()) + "  " + str(fakeit.postcode()) + "|" + str(fakeit.ssn()) + "|" +  str(fakeit.phone_number()) + "\n"
    f.write(str(np))


f.close()


Вторая версия, с генерацией по нужному бину:
Код:
import random
from faker import Faker
fakeit = Faker()




f = open("cc.txt", 'w')


BIN = input("Введите бин: ")
col = int(input("Введите количество для генерации номера карты: "))
def luhn_checksum(card_number):
    def digits_of(n):
        return [int(d) for d in str(n)]
    digits = digits_of(card_number)
    odd_digits = digits[-1::-2]
    even_digits = digits[-2::-2]
    checksum = 0
    checksum += sum(odd_digits)
    for d in even_digits:
        checksum += sum(digits_of(d*2))
    return checksum % 10


def is_luhn_valid(card_number):
    return luhn_checksum(card_number) == 0




for cc in range (col):
    Number = str(BIN) + str(random.randint(0000000000, 9999999999))
    ex = str(random.randint(2, 12)) + "/" + str(random.randint(21, 25))
    cvv = random.randint(100, 999)




    f.write(
        str(Number) + "\n"
        )


f.close()


ff = open("cc.txt", 'r')
qa = open("valid cc.txt", 'w')
for cc in range(col):
    m = ff.readline()
    result = is_luhn_valid(int(m))
    if result == True:
        qa.write(str(m))


ff.close()
qa.close()
print("Валидных карт: " + str(len(open("valid cc.txt", 'r').readlines())))


gen = int(input("Введите количество для генерации сс+full info: "))


qa = open("valid cc.txt", 'r')
f = open("cc.txt", 'w')
for card in range (gen):
    Number = qa.readline().rstrip('\n')
     np = str(Number) + "|" + str(random.randint(2, 12)).zfill(2) + "|" +  str(random.randint(2021, 2025)) + "|" +  str(fakeit.credit_card_security_code()) + "|" + str(fakeit.name()) + "|"  + str(fakeit.date_of_birth(tzinfo=None, minimum_age=20,  maximum_age=55)) + "|" + str(fakeit.building_number()) + " " +  str(fakeit.city()) + " " + " " + str(fakeit.street_address()) + " " +  str(fakeit.postcode()) + "|" + str(fakeit.ssn()) + "|" +  str(fakeit.phone_number()) + "\n"
    f.write(str(np))
   




qa.close()
f.close()





Автор: NaMneCash