Загрузка...

**** КАК ПРАВИЛЬНО ОФОРМИТЬ? МОЕ РЕШЕНИЕ

Тема в разделе Скрипты сайтов создана пользователем tafiranium 5 мар 2021. 449 просмотров

Опрос

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

Можно выбрать сразу несколько вариантов.
Результаты будут видны только после голосования.
  1. ДА

  2. НЕТ

  3. НЕ ЗНАЮ

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

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

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


    МОЕ РЕШЕНИЕ

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

    Код
    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. ЗАТЕМ СОЗДАЕМ ФУНКЦИЮ ДЛЯ СИСТЕМЫ ИСЧИСЛЕНИЙ (ДЛЯ ЧЕГО ПОЗЖЕ РАССКАЖУ):

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

    system = {}

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

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

    return system

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

    Код

    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. ПИШЕМ ОСНОВНУЮ ПРОГРАММУ (Я ЕЕ ДЕЛАЛ НА СКОРУЮ РУКУ ПРОСТО ЧТОБЫ ПОЛУЧИТЬ ДОСТУП АРХИВУ, ВЫ ЖЕ МОЖЕТЕ ЕЕ ОТПАЛИРОВАТЬ)

    Код
    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
    Инвестор_inactive693903 5 мар 2021 Заблокирован(а) 421 7 дек 2018
    Оформление темы мне не понравилось, невозможно читать. -rep
     
    1. Посмотреть предыдущие комментарии (2)
    2. tafiranium Автор темы
      Инвестор_inactive693903, Или тебя смущает не сам код, а то, что я русскими словами там приписал?
    3. Инвестор_inactive693903
      tafiranium, что конкретней мне писать? Мне не нравится твое оформление темы и то что невозможно читать, глаза болят
    4. tafiranium Автор темы
  3. xyevpank
    xyevpank 6 мар 2021 Заблокирован(а) 50 9 мар 2019
    Не понравилось оформление темы. -rep
     
Загрузка...
Top