Загрузка...

BRUT HOW TO DO IT CORRECTLY? MY DECISION

Thread in Website scripts created by tafiranium Mar 5, 2021. 472 views

The poll

БЫЛА ЛИ ТЕМА ПОЛЕЗНА? ПРОДОЛЖАТЬ?

Multiple votes are allowed.
Results are only viewable after voting.
  1. ДА

  2. НЕТ

  3. НЕ ЗНАЮ

  1. tafiranium
    tafiranium Topic starter Mar 5, 2021 0 Mar 24, 2019
    Здраствуйте, читатели моей темы! Сегодня возникла такая необходимость - взломать архив.
    Я уже 3 года пишу ботов для telegram, vk, discord, но с архивами работать мне не приходилось,
    а уж тем более ****ить его пароль.

    За началом работы - пустой лист программы и примерное представление о предстоящей работе:
    Подключу библиотеку Rar и просто буду перебирать через [for i in range() for j in range()], но задача оказалась
    не такой простой, как показалось моей глупенькой голове.

    Подключить библиотеку оказалось достаточно просто, а вот сделать перебор таким, каким он должен быть уже сложнее:


    МОЕ РЕШЕНИЕ

    1. СНАЧАЛА СОЗДАЕМ СПИСОК С ВСЕМИ НУЖНЫМИ СИМВОЛАМИ
    КАЖДЫЙ СДЕЛАЕТ СПИСОК ТАК, КАК ЕМУ УДОБНО, ТОЧНО ТАК МОЖНО НЕ ДЕЛАТЬ:

    Code
    eng = 'B, C, D, F, G, H, J, K, L, M, N, P, Q, R, S, T, V, W, X, Y, Z, A, E, I, O, U'

    eng_small = eng.lower().split(', ')

    lib = eng.split(', ') + eng_small + [str(i) for i in range(10)]

    2. ЗАТЕМ СОЗДАЕМ ФУНКЦИЮ ДЛЯ СИСТЕМЫ ИСЧИСЛЕНИЙ (ДЛЯ ЧЕГО ПОЗЖЕ РАССКАЖУ):

    Code
    def count_system([ИМЯ ВАШЕЙ БИБЛИОТЕКИ]):

    system = {}

    for i in range(len([ИМЯ ВАШЕЙ БИБЛИОТЕКИ])):

    system[i] = str([ИМЯ ВАШЕЙ БИБЛИОТЕКИ])

    return system

    3. ЗАТЕМ ДЕЛАЕМ ФУНКЦИЮ КОТОРАЯ УВИЛИЧИВАЕТ ЧИСЛО В СПИСКЕ НА 1:

    Code

    def sys_append([СПИСОК - ЧИСЛО], [ДЛИННА БИБЛИОТЕКИ]):

    for i in range(len([СПИСОК - ЧИСЛО])):

    if [СПИСОК - ЧИСЛО][i] + 1 >=[ДЛИННА БИБЛИОТЕКИ]:

    [СПИСОК - ЧИСЛО][i] = [СПИСОК - ЧИСЛО][i] - ([ДЛИННА БИБЛИОТЕКИ]-1)
    pass

    elif [СПИСОК - ЧИСЛО]r[i] + 1 < [ДЛИННА БИБЛИОТЕКИ]:

    [СПИСОК - ЧИСЛО][i] = [СПИСОК - ЧИСЛО][i] + 1

    return [СПИСОК - ЧИСЛО]

    else:

    return False

    ДЕЛО ЗА МАЛЫМ!
    4. ПИШЕМ ОСНОВНУЮ ПРОГРАММУ (Я ЕЕ ДЕЛАЛ НА СКОРУЮ РУКУ ПРОСТО ЧТОБЫ ПОЛУЧИТЬ ДОСТУП АРХИВУ, ВЫ ЖЕ МОЖЕТЕ ЕЕ ОТПАЛИРОВАТЬ)

    Code
    sys = count_system([ИМЯ ВАШЕЙ БИБЛИОТЕКИ]) #ПРЕОБРАЗОВЫВАЕМ СПИСОК В СЛОВАРЬ

    direct = [СТРОКА С ПАПКОЙ В КОТОРУЮ БУТЕТ РАЗАРХИВИРОВАННО ВСЕ]

    try: #ПРОВЕРКА НА НАЛИЧИЕ ПАПКИ И ПОСЛЕДУЮЩИЕ ЕЕ СОЗДАНИЕ

    mkdir(direct)

    except FileExistsError:

    pass

    file_name, counter, lenght, s_max = 'sec.rar', 0, 1, len(sys)
    #имя файла, количество переборов, начальная длинна, длинна словаря

    with rarfile.RarFile(file_name) as archive:

    while True:

    ***** = [int(i) for i in list('0' * (lenght))]

    while True:

    ***** = sys_append(*****, s_max)

    if ***** is None:
    break

    password = ''.join([sys[i] for i in *****])
    if check(password):

    print(f"[---| {password}")
    break

    else:

    print(f'none: {password}')

    lenght += 1

    СМЫСЛ ПРОГРАММЫ:
    ЕСЛИ ПЫТАТЬСЯ ПЕРЕБИРАТЬ ЧЕРЕЗ RANGE(), ТО СЛОВА ПОСТОЯННО ПОВТОРЯЮТСЯ, ПОСТОЯННЫЕ ОШИБКИ, БОЛЬШАЯ НАГРУЗКА НА ПК.
    Я ПОШЕЛ ПО ДРУГОМУ. Я ПРЕДСТАВИЛ НАШ ПАРОЛЬ, КАК ЧИСЛО В НЕКОЙ СИСТЕМЕ ИСЧИСЛЕНИЯ (СИСТЕМА ИСЧИСЛЕНИЯ РАВНАЯ ДЛИННЕ НАШЕГО СЛОВАРЯ), И ПРОСТО, НАЧИНАЯ ОТ ОПРЕДЕЛЕННОЙ ДЛИННЫ СЛОВА, МЫ НАЧИНАЕМ ПЕРЕБОР НАШЕГО ПСЕВДОЧИСЛА, КОТОРОЕ МЫ ПРИОБРАЗУЕМ В СТРОКУ С ПОМОЩЬЮ СЛОВАРЯ.

    Я ПЫТАЛСЯ СМОТРЕТЬ РЕШЕНИЯ В ИНТЕРНЕТЕ, НО РЕШЕНИЯ ЛИБО ПИСАЛИ НЕУМЕЛЫЕ ПРОГРАММИСТЫ ЛИБО, ОНО ТАКОЕ ОГРОМНОЕ, ЧТО ХОЧЕТСЯ НА ВСЕ ПЛЮНУТЬ И СДЕЛАТЬ САМИМ. ЕСЛИ КОМУ ТО ДАЛ ИДЕЮ, ПОМОГ ВСЕГДА РАД! НА ВОПРОСЫ ОТВЕЧАЮ!



     
  2. Инвестор_inactive693903
    Оформление темы мне не понравилось, невозможно читать. -rep
     
    1. View previous comments (2)
    2. tafiranium Topic starter
      Инвестор_inactive693903, Или тебя смущает не сам код, а то, что я русскими словами там приписал?
    3. Инвестор_inactive693903
      tafiranium, что конкретней мне писать? Мне не нравится твое оформление темы и то что невозможно читать, глаза болят
    4. tafiranium Topic starter
  3. xyevpank
    xyevpank Mar 6, 2021 Banned 50 Mar 9, 2019
    Не понравилось оформление темы. -rep
     
Loading...
Top