Крутой заказ на фрилансе | Подбираем забытый пароль к Excel файлу с помощью Python

Sdílet
Vložit
  • čas přidán 25. 07. 2024
  • Выполняем заказ взятый на фрилансе. Генерируем пароли от простого до сложного и подбираем забытый пароль к Excel файлу с помощью Python и pywin32.
    🔥 Доступ в приват | Поддержать проект:
    boosty.to/pythontoday
    / pythontoday
    yoomoney.ru/to/410019570956160
    🔥 Стать спонсором канала:
    / @pythontoday
    Таймкоды:
    00:00 - Интро
    00:15 - Описание проекта
    01:19 - Пишем код для генерации как простых так и сложных паролей
    02:44 - Код для выбора длины пароля
    03:36 - Код для выбора сложности пароля
    05:46 - Пишем цикл подбора пароля
    07:54 - Установка необходимой библиотеки
    08:56 - Необходимые настройки для открытия Excel файла
    12:48 - Запуск скрипта
    Пишем Telegram бота на Python + Загружаем Telegram бота на сервер(хостинг):
    • Пишем Telegram бота на...
    Плейлист по парсингу сайтов на Python:
    • Парсинг/Scraping
    Плейлист по Instagram боту:
    • Instagram Bot на Pytho...
    Код проекта на github:
    github.com/pythontoday/brute_...
    И в telegram канале:
    t.me/python2day
    ****Соц.сети****
    Telegram: t.me/python2day

Komentáře • 338

  • @PythonToday
    @PythonToday  Před 3 lety +15

    Таймкоды для вас:
    00:00 - Интро
    00:15 - Описание проекта
    01:19 - Пишем код для генерации как простых так и сложных паролей
    02:44 - Код для выбора длины пароля
    03:36 - Код для выбора сложности пароля
    05:46 - Пишем цикл подбора пароля
    07:54 - Установка необходимой библиотеки
    08:56 - Необходимые настройки для открытия Excel файла
    12:48 - Запуск скрипта

    • @wasafas2793
      @wasafas2793 Před 2 lety

      А как возможно автоматизировать выбор длины пароля?

    • @wasafas2793
      @wasafas2793 Před 2 lety

      Возможно ли вообще?

  • @plxgboi3602
    @plxgboi3602 Před 3 lety +17

    Ого. Вот это контент. На канале и есть что посмотреть и чему научиться. Очень круто. Делайте дальше. Я сам пайтон не так давно начал учить и понял, что это того стоит

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Благодарю 💪 Успехов в изучении!

  • @Tokhab
    @Tokhab Před 3 lety +6

    Супер!
    Жду с нетерпением Tensorflow и все что связано с ИИ

  • @Bloody_River
    @Bloody_River Před 3 lety +3

    Очень полезно видеть всё от начала работы и до конца с объяснениями! Лике и субскрибе :}

  • @deus7204
    @deus7204 Před 3 lety +4

    Спасибо за видео! Интересные проекты делаешь.

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Благодарю за фидбэк 👍

  • @eminaliyev3989
    @eminaliyev3989 Před 2 lety +6

    Редко когда пишу комментарии к видео или ставлю лайк т.к. раздражают эти прелюдии. Но тут такой случай, когда автор имеет восхитительную дикцию, шикарно излагает мысль, приятного глазу оформляет канал без кричащих надписей как у инфо-цыган, укладывается 5 минут видео когда можно уложить в 5 минут и в 20, когда нужно в 20. Большое уважение автору! Браво!

    • @PythonToday
      @PythonToday  Před 2 lety +1

      Большое спасибо за фидбэк и поддержку!

  • @gurin.shorts
    @gurin.shorts Před rokem

    Python Today, вы лучшие в объяснение, давно хотел сделать подобную программку, но не знал как сделать данные подбор, в ютубе роликов не нашёл и тут наткнулся на вас, спасиьо огромное!

  • @romanperekatov2745
    @romanperekatov2745 Před 2 lety

    Спасибо,в конце ролика наглядно осознаешь про то что очень важно создавать сложные пароли)

    • @PythonToday
      @PythonToday  Před 2 lety

      Это точно, спасибо за фидбэк!

  • @user-zp8sq4lp8q
    @user-zp8sq4lp8q Před 3 lety +12

    Интересный материал, прям захотелось повторить))
    Из идей по поводу скорости: когда мы пытаемся разлочить файлик паролем мы обращаемся к external файлу, а значит это I/O bound -> если код будет асинхронный или мультипоточный (не мультипроцессорный), работать все будет гораздо быстрее. Тут имхо приоритет за async/await
    А из мелкого, вместо counter лучше использовать enumerate))

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Спасибо за фидбэк. Я пока только вникаю в async и процессы.

    • @Steven-uj5sp
      @Steven-uj5sp Před 2 lety +2

      @@PythonToday Я бы еще обратил внимание на проверку слов указанной длины (например из словаря Windows. Если пароль будет состоять из 4-8 символов, а паролем окажется "Password" =) Потребуется намного меньше времени, чтобы перебрать слова длинной от 4 до 8) и введение символов, которые пользователь помнит, т.к. это тоже облегчит поиск (например знание того, что в слове хотя бы одна буква "a" даст значительный выигрыш)
      Надеюсь, что Вы заметите идею)

  • @MrFerting
    @MrFerting Před 2 lety

    Очень крутая подача и последовательность.

    • @PythonToday
      @PythonToday  Před 2 lety

      Благодарю за фидбэк!

  • @forthesoul1176
    @forthesoul1176 Před 3 lety

    Очень классно делаете!

  • @eYVgeni
    @eYVgeni Před 3 lety +6

    сюжеты не привязанные к конкретной операционной системе гораздо интереснее :-)

  • @ivanfedorov7934
    @ivanfedorov7934 Před 3 lety

    Есть топ видео а есть 🔥🔥🔥🔥🔥как это, супер спасибо

  • @user-hi2xp9nk7l
    @user-hi2xp9nk7l Před 2 měsíci

    Отличное видео! Спасибо.

  • @staskazakovcom
    @staskazakovcom Před 2 lety

    Отличный контент. Больше бы видео по взломам.

  • @PeterPike1982
    @PeterPike1982 Před rokem

    Интересный канал, интересные темы, интересная подача

  • @user-mo5wt4ue2r
    @user-mo5wt4ue2r Před 3 lety +3

    применение такого сомнительное, но для получения нового опыта самое то.
    я своим пользователям сделал просто удаление пароля (на сишарпе). пусть сами вводят новый.

  • @user-yn8sm1ry2f
    @user-yn8sm1ry2f Před 3 lety +9

    Супер 🙌🏻 было бы не плохо развить тему об проведении трансляции в соц сетях рабочего стола или другого окна через питон 🐍

  • @samoiloff90
    @samoiloff90 Před 3 lety

    Очень крутой контент!

  • @mister_robot01
    @mister_robot01 Před 3 lety +1

    Очень нравится ваш канал, хотелось бы еще увидеть посмотреть как работать так же и с сайтами) Ждем продолжение на эту тему. Спасибо за ваш труд!

    • @sergeikrasnovskii9767
      @sergeikrasnovskii9767 Před 3 lety +1

      На сайте после нескольких запросов тебя забанят! Поэтому либо нужна армия ботов, которая по очереди будет добиться в один и тот же аккаунт, так же не забываем про капчу которую ещё надо будет как то решать. Брутфорс сайтов гораздо сложнее.

    • @PythonToday
      @PythonToday  Před 3 lety +3

      Благодарю за фидбэк. Но это не та платформа, на которой можно обсуждать, делать и выкладывать подобные темы.

    • @smileportal1601
      @smileportal1601 Před 3 lety +1

      @@PythonToday снимай и залей на тг группу пж :)

    • @user-sd2bp2hg5l
      @user-sd2bp2hg5l Před 3 lety +1

      @@sergeikrasnovskii9767 для примера можно взять стандартную WP админку, где по умолчанию нет никакой защиты от брутфорса.

  • @user-mz6bg7cf6g
    @user-mz6bg7cf6g Před 3 lety

    Как всегда интересно и полезно!!!!!!! можно использовать многопоточность с модулем threading будет быстрее

    • @mihun4ik
      @mihun4ik Před 3 lety

      > threading будет быстрее
      Не будет. threading в Python использует псевдопотоки (вместо нативных на процессоре). Соответственно для числомолотилок (перебор пароля подходит под такую классификацию) не подойдет threading из Python.

  • @1speede1
    @1speede1 Před 2 lety

    Здорово, Python очень полезный инструмент. Реально заинтересовал. Раньше часто пароли в ексель файлах забывал.

    • @PythonToday
      @PythonToday  Před 2 lety

      Для этих задач есть гораздо более быстрые программы) Было интересно опробовать самому. Но скорость очень медленная.

    • @1speede1
      @1speede1 Před 2 lety

      Здорово что есть готовые решения. Но чувство когда сделал сам значительно ценнее, его не сравнить ни с чем.
      Даже когда пишешь говн@код, радуешься как ребенок если он работает как ожидалось)))
      А тут, оказывается, можно вполне реальные задачи решать, даже на моем уровне.

    • @PythonToday
      @PythonToday  Před 2 lety

      Полностью согласен, главное практика) Хоть и много говн0кода)

  • @vigauss1889
    @vigauss1889 Před 3 lety +15

    Чувак! Ты просто какой-то безумец! Спасибо тебе огромное за проделанную работу! Ответь пожалуйста в ТГ, по поводу уроков.

  • @shuwiku
    @shuwiku Před 2 lety

    Моё мнение по поводу всего
    Видео хорошее, я узнал про 2 новые библиотеки, узнал про работу с API Winsows через Python.
    Что я предлагаю
    1. Убрать все printы, ибо они ну кпц как замедляют работу программы. Если надо знать, что происходит, лучше использовать логирование в .txt файл, оно будет куда быстрее (модуль logging)
    2. Я всё ещё до конца не разобрался с асинхронными функциями, но, если я правильно понимаю, то конкретно ввод пароля можно запихнуть в асинхронную функцию, и оно может станет чуть быстрее
    3. Ввод данных пользователем можно запихнуть в один try-exept-finally, но это так, просто предложение

  • @user-ej7jl7uh1o
    @user-ej7jl7uh1o Před 3 lety +32

    Когда в вин открывает Эксель файлик - она создаёт процесс, который нужно в конце заканчивать.
    Выполните программу несколько раз и каждый раз смотрите диспетчер задач в процессах.

    • @PythonToday
      @PythonToday  Před 3 lety +6

      Да, уже понял. Благодарю за пояснение 💪

    • @spamcolector
      @spamcolector Před 3 lety +1

      Можно фрагмент кода которий убивает процес?

  • @gu8ka
    @gu8ka Před 3 lety +1

    Продолжай в том же духе

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Спасибо за фидбэк 👍

  • @itdepartament3333
    @itdepartament3333 Před rokem

    Красавчик

  • @LastWeg
    @LastWeg Před 3 lety

    Спасибо за видос.

  • @andreyandrey1004
    @andreyandrey1004 Před 3 lety

    Просто взрыв мозга ) класс

    • @PythonToday
      @PythonToday  Před 3 lety

      Благодарю за фидбэк!

  • @patience5298
    @patience5298 Před 2 lety

    Редко оставляю лайки, а коментарии пишу на 1 из миллиона роликов, но чёрт возьми ты лучший этот скрипт на хак локальных забытых паролей просто великолепен и бесконечно полезен. Не думал написать что-нибудь по сложнее, например, как этот скрипт улучшить что бы он обходил банальную защиту в кол-во неверно введенных паролей и тп

    • @PythonToday
      @PythonToday  Před 2 lety

      Большое спасибо за фидбэк, но это лишь проба написать брутфорс средствами python самому. Для решения таким проблем есть специальные, гораздо более эффективные и скоростные инструменты)

  • @georgii2012
    @georgii2012 Před 3 lety +3

    Hashcat one love
    Способ рабочий, но очень медленный и не оптимизированный) Если уж и самому делать, то нужно хотя бы постараться максимально оптимизировать код, не вызывать каждый раз функции winapi и т. д.

  • @Anonim-im6ln
    @Anonim-im6ln Před 2 lety

    Клас!)

  • @伝説の
    @伝説の Před 2 lety +1

    За тобой уже выехали!

  • @user-no4mz5tz1t
    @user-no4mz5tz1t Před 3 lety +13

    Следующие возможные шаги улучшения:
    1) распараллелить подбор
    2) использовать jit например numba, половина скорости улетает в интерпретацию
    3) и наверное не идти по порядку символов, а брать в разнобой, но при этом так, чтобы не повторяться

    • @spamcolector
      @spamcolector Před 3 lety +1

      Как сделать 3 пункт?

    • @cens6457
      @cens6457 Před 3 lety +1

      @@spamcolector можно попробовать перемешать список possible_symbols перед тем, как генерировать пароль

    • @achavusov7372
      @achavusov7372 Před 2 lety

      @@spamcolector возможно - бинарный поиск?

    • @Rizz_The_One
      @Rizz_The_One Před rokem

      а нельзя допустим скомпилировать какую то часть и не высчитывать её а как то использовать?

  • @vardges6482
    @vardges6482 Před 2 lety

    Хороший броутфоос получился можно для зим файла использиввть

  • @coryasan
    @coryasan Před 2 lety

    Смотрю Ваши ролики по питону как сериал😄

  • @DmanBR
    @DmanBR Před 3 lety

    По поводу потоков, в питоне быстрей не сделают, может даже медленей - один instance of interpreter

  • @slawwv
    @slawwv Před 3 lety +5

    Жду продолжения парсинга тик-тока. Нигде не могу найти, как парсить тик-токи по хештегам. Особенно хотелось бы их сортировать по дате публикации

    • @user-oh7me8mt8h
      @user-oh7me8mt8h Před 3 lety

      Есть несколько способов, но самый простой, чтоб не сильно париться с кодом (и если бешеная скорость не нужна) - используя selenium найти видео по хештегу, вытащить все нужные данные регулярками, запихнуть в базу.... работать будет.. но со скромной скоростью... если запариться немножко и убрать selenium, то будет быстрее

    • @user-od2fz2tl7d
      @user-od2fz2tl7d Před 2 lety

      Посмотрите не публичный апи на питоне для тиктока

  • @90000nik
    @90000nik Před 2 lety

    в password_lenght вы используете list comprehension, но можно ведь использовать generator expressions для ускорения программы чтобы не читать всю все значения в строке а только нужные на данный момент. Если нельзя использовать generator expressions можете объяснить почему?

  • @gaidjiin9977
    @gaidjiin9977 Před 3 lety

    Я не до конца понял,а что означает content в requests?Можно ли обойтись без него?

  • @gaidjiin9977
    @gaidjiin9977 Před 3 lety

    Привет, только пришел с твоего видео о фрилансе)))Научился парсить сайты по твоим видео) Спасибо тебе огромное:)
    И ещё хотел спросить,могу ли я уже выполнять хоть маленькие заказы только со знанием парсинга сайтов?

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Привет, конечно можешь. Это одна из самых больших и активных ниш.

    • @gaidjiin9977
      @gaidjiin9977 Před 3 lety

      @@PythonToday понял, спасибо огромное)

    • @why-ej2xo
      @why-ej2xo Před 2 lety +1

      @@gaidjiin9977 как успехи?

  • @alexzeek8985
    @alexzeek8985 Před 2 lety

    круто

  • @konfuze_top
    @konfuze_top Před 3 lety +3

    Спасибо! Сделал brute force паролей md5. И компилировал в C код, чтобы быстрее было. (с помощью nuitka компилировал)

    • @PythonToday
      @PythonToday  Před 3 lety

      Благодарю за фидбэк. Можешь ссылку на код дать? С удовольствием бы глянул.

    • @konfuze_top
      @konfuze_top Před 3 lety +1

      @@PythonToday Вот ссылка pastebin.com/2WH2uRUH

    • @PythonToday
      @PythonToday  Před 3 lety

      Благодарю, думал может добавил процессы или потоки.

    • @konfuze_top
      @konfuze_top Před 3 lety

      @@PythonToday я в потоках не шарю(

    • @dizel3938
      @dizel3938 Před 3 lety

      @@konfuze_top Объясни дураку, куда в твоем коде ты указываешь путь к файлу и непосредственно файл? Совсем не понял но очень интересно

  • @user-dw6sv5nf6y
    @user-dw6sv5nf6y Před 3 lety

    у меня вопрос вот к примеру есть у меня слово привет и есть алфавит где к каждой букве приставлен спец символ как мне заменять буквы на определёные символы?

  • @alexprodeveloper
    @alexprodeveloper Před 3 lety +1

    проблемму с кешированием, можно решить просто удалением файлов *.pyc
    а про многопоточность можно попробовать:
    def batch_iterator(items_iter, batch_size=5000):
    items_list = filter(bool, items_iter)
    count = len(items_list)
    for i in range(int(math.ceil(float(count) / batch_size)) + 1):
    offset = i * batch_size
    batch = items_list[offset:batch_size + offset]
    if batch:
    yield batch
    opened_doc = client.Dispatch("Excel.Application")
    flag_stop = False
    def try_passwords(passwords):
    global flag_stop
    if flag_stop:
    return
    try:
    for password in passwords:
    opened_doc.Workbooks.Open(
    r"C:\Users\User\PycharmProjects\brute_excel\fsociety.xlsx",
    False,
    True,
    None,
    password
    )
    flag_stop = True
    return password
    except:
    pass
    pool = ThreadPool(processes=50)
    password = None
    for pass_length in range(password_length[0], password_length[1] + 1):
    if flag_stop:
    break
    iters = itertools.product(possible_symbols, repeat=pass_length)
    for batch in batch_iterator(iters):
    password = next(filter(bool, pool.map(try_passwords, batch)), None)
    pool.close()
    pool.join()
    print (password)

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Если есть возможность, можешь ссылку на github код дать, с удовольствием гляну.

  • @Andrey-yh6yw
    @Andrey-yh6yw Před 3 lety +3

    Если хотите добавить многопроцессорность, то, я думаю, будет лучше не разбить множество всевозможных вариантов пароля на куски и дать по куску каждому процессу, а сделать так чтобы этот список вариантов был единым и хранился в главном родительском процессе, а все остальные процессы брали бы оттуда пароли. Это можно реализовать с помощью класса Queue модуля multiprocessing. Такой подход лучше потому, что все потоки распределят нагрузку равномерно и гарантированно закончат работать в одно и то же время. Об этих вещах хорошо рассказано в четвёртой лекции Тимофея Хирьянова из курса анализа данных на python

    • @PythonToday
      @PythonToday  Před 3 lety

      Спасибо большое, гляну обязательно, не силен в процессах. Но думал нужно копировать файл и отдавать каждому процессу, чтобы каждый процесс открывал и закрывал свой файл. Не пробовал пока, но думаю могут возникнуть проблемы если каждый процесс будет долбиться в один файл.
      И как быть с тем, если не разбивать лист паролей для каждого процесса, каждый из процессов будет работать по одному и тому же списку ведь и будет выполнять идентичную работу и это не приведет к ускорению перебора. Или я не так понял?

    • @Andrey-yh6yw
      @Andrey-yh6yw Před 3 lety +1

      @@PythonToday так я же писал, что это делается с помощью Queue из модуля multiprocessing - это специальный канал связи между процессами, который выдаётся операционной системой - список, из которого можно брать и в который можно класть всё что угодно асинхронно из разных процессов, и не возникнет никаких проблем типа "race condition", так как эта Queue сделана специально для асинхронного обмена информацией между процессами.

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Еще раз спасибо, посмотрю сначала лекцию, пока не понимаю как работает.

    • @rapture-dev
      @rapture-dev Před 3 lety +1

      Или программа упадет с OutOfMemoryError (посчитай количество возможных паролей длины 10 из цифр и латиницы)
      К тому же синхронизация коллекции тоже использует ресурсы, не говоря про невозможность кэширования thread safe коллекции
      В таком случае правильнее передать в поток номер начала и конца, внутри потока его один раз декодировать в нужные индексы циклов. Количество нужной памяти O(1), а не O(C^N), а также никакой конкуренции за ресурсы и накладных ресурсов на синхронизацию (разве что чекать одну атомарную переменную флаг раз в Х итераций)

  • @Stepan_bendera
    @Stepan_bendera Před 2 lety

    День добрый подскажите есть урок по подбору паролей к веб приложениям.

  • @Silver_men_rev
    @Silver_men_rev Před 3 lety

    Спасибо дружище, очень полезно и очень интересно, по одноклассникам не намечается парсир?

    • @user-ey8lc3vz7n
      @user-ey8lc3vz7n Před 3 lety

      что там парсить, если не секрет?

    • @PythonToday
      @PythonToday  Před 3 lety

      Благодарю! А что там парсить? Последний раз заходил туда году в 2008 😀

  • @obriensmith6091
    @obriensmith6091 Před 2 lety

    Хм, а для libre в mint есть подобная библиотека?

  • @ac130kz
    @ac130kz Před 3 lety

    Дядь, какой ручной перебор, используй hashcat

  • @Rizz_The_One
    @Rizz_The_One Před rokem

    а нельзя допустим скомпилировать какую то часть и не высчитывать её а как то использовать?

  • @danielbobrivich6849
    @danielbobrivich6849 Před 3 lety

    @pythonToday не работает если ставить только буквенный выдает стандартный aaaa при любом раскладе как пофиксить знаешь?

  • @OKaIroN
    @OKaIroN Před 2 lety

    Интересный видос👍🏻
    Один вопрос, почему везде принт, есть же логгер.

  • @user-oh7me8mt8h
    @user-oh7me8mt8h Před 3 lety +2

    Я ничего не хочу сказать, видео классное! Но это самый бессмысленно сложный способ подбора пароля для Excel)

  • @fromtheshadow8280
    @fromtheshadow8280 Před 3 lety +2

    Способы оптимизации, которые мне с ходу пришли в голову:
    1. Сделать многопоточность - самое очевидное и пояснять ничего не надо
    2. Вместо вывода в консоль каждой попытки перебора пароля сделать что-то другое. Например, графический интерфейс со статус баром. Вывод строк в консоль оооооочень много времени отжирает в вычислениях, проверено на чистом си

    • @quadroninja2708
      @quadroninja2708 Před 2 lety +1

      второе актуально в олимпиадах по информатике, один раз задача не зашла из-за endl вместо '
      '

    • @fromtheshadow8280
      @fromtheshadow8280 Před 2 lety

      @@quadroninja2708 почему только олимпиады, если это практическое наблюдение? Скорость работы очень хорошо бустится без лишних выводов в консоль

    • @quadroninja2708
      @quadroninja2708 Před 2 lety +1

      @@fromtheshadow8280 не, просто наблюдение. Иногда вывести тоже нужно правильно

    • @oreh350
      @oreh350 Před 2 lety

      Поставил пароль 492 и с выводом в командную строку у меня ломает пароль за 1:45, без вывода за 1:37 так что да работает быстрее, но незначительно. Есть какие-либо еще идеи? Может кто поправил код с реализацией многопоточности? Если так то киньте пожалуйста Git

    • @fromtheshadow8280
      @fromtheshadow8280 Před 2 lety

      @@oreh350 рост времени от увеличения длины пароля будет расти по экспоненте, так что если попробовать на 7 знаках в пароле, то получится интереснее

  • @tonykardio4451
    @tonykardio4451 Před 3 lety +1

    Следующий шаг - import multiprocessing . Размножить файл до нужного уровня параллелизма. И затем скормить каждому процессу свой кусок комбинаций. Многопоточность (import threading) не подойдёт из-за особенностей интерпретатора питона (он не позволяет по умолчанию выполняться многопоточно). Если предполагается посадить бота на сервер, то выгодно заранее сгенерировать данные и потом "быстренько" плодить процессы и параллелить перебор.

    • @PythonToday
      @PythonToday  Před 3 lety

      Буду пробовать, но количество процессов напрямую ведь зависит от процессора ПК? Я к тому, что на бюджетном хостинге, будет беда. Или не прав? Если есть опыт поделись пожалуйста, либо примером кода.

    • @tonykardio4451
      @tonykardio4451 Před 3 lety +2

      @@PythonToday Да, если на сервере мало оперативки, то будет не очень. Можно руками подобрать оптимальное количество процессов. Количество ядер на самом кристалле пк влияет на то, сколько по-настоящему одновременных задач может исполняться. Если ядро одно, то, возможно, и пытаться смысла нет. Скорость только лишь уменьшится, из-за затрат на создание процессов и переключение между ними.

    • @Max_Kheler
      @Max_Kheler Před 3 lety

      @@PythonToday будет продолжения на шаблоны и улучшения кода если будет то он будет скрыт тут или в телеграмме если не вопрос или вообще это единственное произведения?

  • @longgo1234
    @longgo1234 Před 2 lety

    А как можно сделать так чтобы он вводил в программу? как взять управление в виндоус, чтобы он вводил в окошку программу?

  • @djdkdkrk
    @djdkdkrk Před 3 lety

    у меня вопрос низнаю насколько глупый, сколько времени уйдет на перебор всех от6 до8 символов??? хоть приблизительно.

  • @sergioborussa
    @sergioborussa Před 2 lety +1

    👍

  • @sjakabelch
    @sjakabelch Před rokem

    а в MS точно надо подбирать пароль? Вроде Office Password Recovery умеет просто его подсмотреть

  • @syracuse4612
    @syracuse4612 Před 3 lety +2

    а как подключить этот код к , например, вк или другим соцсетям?типо что бы это не только в консоли работало)

    • @abdurakhmanov__g
      @abdurakhmanov__g Před 2 lety

      пахпахпа, я тож поэтому зашел

  • @muresda2047
    @muresda2047 Před 3 lety +5

    Во время перебора не выводи ничего в консоль. Так скорость в несколько раз быстрее)

    • @PythonToday
      @PythonToday  Před 3 lety

      А разве это связано в данном случае? Как понял к файлу можно делать запрос не чаще чем 0.1с, что вполне отрабатывает и с принтами. Возможно я не прав.

    • @muresda2047
      @muresda2047 Před 3 lety +1

      @@PythonToday Я особо в этом не разбираюсь, просто из совсем небольшого опыта, говорю. Например когда проходишь в цикле по фотографии, и каждый пиксель обрабатываешь, а затем ещё выводишь информацию, то обработка фотографии занимает раз в 100 больше времени, если не в тысячу, чем без вывода информации. Также я часто встречал это когда писал другие большие циклы. Кстати, есть ещё одна идея.... это попробовать использовать мультипоточность. Но тут я совсем не разбираюсь, но думаю что это должно ускорить процесс перебора.

    • @alexdeadykhin5203
      @alexdeadykhin5203 Před 3 lety +3

      Да, вывод тормозит процесс перебора. Так как на каждый вывод затрачивается время, а вывод это массив который надо перебрать . По сути любой текст это массив который перебирается в цикле и выводит сумму всех символов

  • @viktorsova7342
    @viktorsova7342 Před rokem

    Коммент на 13:55 : вероятнее всего при повторном запуске после Успешного входа в файл - он просто остается висеть в системе в незакрытом процессе. и при повторном запуске скрипт считывает успешное открытие на первой итерации и вываливается с поздравлением.

  • @kykyqq3133
    @kykyqq3133 Před rokem

    Привет,вопрос не по теме.
    Интересует информация по курсам Python для не граждан России,очень много гомнокурсов на просторах интернета и хотелось бы их обойти стороной,может кто подскажет стоющий внимания курс?спасибо.
    П.с онлайн курс конечно же..

  • @evgen3790
    @evgen3790 Před 2 lety

    можно было сильно проще сделать
    Достаточно вытащить хэш пароля из эксель файла ( в интернете есть готовые решения как это сделать за несколько секунд)
    А дальше расшифровать хэш))) Софт под расшифровку хэша есть всякий разный, но лучше всего использовать тот, где есть поддержка видеокарты. Там скорость перебора в некоторых типах шифрования достигает до миллионов в секунду))

    • @PythonToday
      @PythonToday  Před 2 lety +1

      Благодарю за фидбэк! Пароль можно было подобрать за пару минут тем же hashcat, интерес был попробовать сделать переборщик самому.

  • @archeboom
    @archeboom Před 2 lety

    Второй раз пароль находит моментально так как питон его запомнил можно вызвать id() и посмотреть так же dir() покаже что сохраненно

  • @Sfinxsx
    @Sfinxsx Před 3 lety +2

    А как подобрать пароль к листу или книге, который установлен на защиту от изменений (редактирований), а не при открытии файла?

    • @user-oh7me8mt8h
      @user-oh7me8mt8h Před 3 lety

      Загуглить и узнать, что существуют буквально макросы, которые подбирают пароли и к листу, и к книге.

    • @Sfinxsx
      @Sfinxsx Před 3 lety

      @@user-oh7me8mt8h Благодарю!

  • @snorchellomad6267
    @snorchellomad6267 Před 2 lety +1

    Только начал изучать python, но с профессиональным софтом по бруту паролей к документам неоднократно сталкивался. В какой-то программе реализован перебор на GPU, что сильно ускоряет процесс.
    В идеале, наверное, распараллелить задачу именно на графический процессор (ядер сильно больше, память шустрее, соответственно и операций за такт намного больше, почему они и стали такими эффективными в майнинге), но я, к сожалению, понятия не имею, как это сделать :)

    • @oreh350
      @oreh350 Před 2 lety

      Сударь если вы когда либо сделаете такое, скиньте пожалуйста код

  • @infoolam8003
    @infoolam8003 Před 3 lety +2

    Можно ли с помощью питона, читать и отвечать на входящие смс?

    • @kislotka9717
      @kislotka9717 Před 3 lety +1

      Да, при помощи комп'ютерного зрения и бота, или только бота.

    • @armankaibalyev625
      @armankaibalyev625 Před 3 lety

      Python gsm

  • @MyNameIsChira
    @MyNameIsChira Před 2 lety

    Привет, не знаю увидишь ты или нет, но тем не менее. Посмотрел некоторые из твоих роликов и обратил внимание на то что ты очень любишь много консольного вывода. Это может быть проблемой с производительностью для твоих скриптов. Чтобы наглядно увидеть как это влияет, просто сделай цикл, от нуля до например ста тысяч. И в одной версии сделай вывод в каждой итерации, а в другой версии - вывод только последнего числа. И замерь время. Увидишь что оно различается на порядки. Так же обрати внимание что скорость вывода - не постоянна. В различных эмуляторах терминала она может быть разной.

    • @PythonToday
      @PythonToday  Před 2 lety +1

      Приветствую, благодарю за фидбэк! Принты добавляю для визуализации на ютубе, чтоб люди понимали, что происходит. Единственное, зря не проговорил это)

  • @tmrmln2780
    @tmrmln2780 Před rokem

    Привет. Может я что то упускаю , но мне кажется что для длины пароля достаточна начальная длина и если длина пароля во вермя брута увеличивается, то влюбом случаи , при совпадении , брут сработает . Не значю как повлияет на скорость , но мы в коде сокращаем человеческий фактор на 50 процентов , вдруг человек забывший пароль точно не помнит какая конечная длина пароля, и если он ограничит этот параметр придется перебирать занового с увеличиным порогом , а так в любом случаи брут будет брутить пока не нарвется на совпадениее! Поправте если не прав.

  • @user-us7eb8bi9l
    @user-us7eb8bi9l Před 2 lety

    Если опустить все более адекватные способы извлечения пароля и попробовать довести до ума этот, то таки имею что сказать. 1) проверке пароля передаётся пусть, а значит файл читается заново с носителя => чем больше размер файла, тем всё будет печальнее. Решение - попробовать поместить файл в оперативку и работать с ним там, будет это объект внутри приложения или какой-то RAM-диск - по идее не принципиально. 2) Как уже было верно предложено, можно использовать многопоточность, но только внутри функции, так же можно попробовать посмотреть в сторону кластерности - Torch/Celery, тут уже комбайн может получиться знатный.

  • @user-dw6qb6oh2v
    @user-dw6qb6oh2v Před 2 lety

    Интересно. Не совсем понял, что в Kali нет своего инструмента для установления пароля? По-моему, он даже в файловых менеджерах, типа Total Commander есть (открыть пароль под звездочками)... Или я чего не понимаю? Обязательно свой скрипт писать?

    • @PythonToday
      @PythonToday  Před 2 lety

      Есть множество инструментов, был интерес попробовать написать самому.

  • @user-gi8pk1fw8n
    @user-gi8pk1fw8n Před 2 měsíci

    Что делать если пишет can only concateate str (not "int") to str.

  • @hound2235
    @hound2235 Před 3 lety +2

    2,3 секунды из-за выводов в консоль так то питон быстро подобрал пароль

  • @MrAndrewam3
    @MrAndrewam3 Před 3 lety +1

    Ну да, простой способ есть ) excel - это zip архив, переименовываем, открываем, редактируя 1 файл удаляем пароль, архивируем. Привет Майкрософт и псевдобезопасность )

    • @PythonToday
      @PythonToday  Před 3 lety

      На свежем 2021 у тебя это сработало?

  • @Fizznt123
    @Fizznt123 Před rokem

    есть идеальная идея. импортнуть нумбу и использовать prange вместо range

  • @aleksandr_muga
    @aleksandr_muga Před 2 lety

    За имя xlsx файла отдельный лайк)

  • @sergeysobolenko871
    @sergeysobolenko871 Před 2 lety

    Здравствуйте.
    На счет ускорения брутфорса.
    А как на счет того чтобы создать несколько копий данного ексель файла. И пробовать одновременно часть паролей для одного файла, другую для второго файла и тд. А потом в конце удалить копии ексель файла.

    • @PythonToday
      @PythonToday  Před 2 lety

      Приветствую, да, как один из вариантов. Но есть и другие способы и программы быстро расколоть. Было интересно попробовать самому)

  • @nargan1129
    @nargan1129 Před 2 lety

    У меня почему-то при вводе неправильного пароля ошибки не вызывается и try/except не срабатывает

  • @antonkaster
    @antonkaster Před 3 lety

    Вывод чего-либо в консоль замедляет перебор. Не стоит выводить информацию на каждом шаге.
    Инициализация объекта Excel.Application в теле цикла замедляет работу. Возможно, эту инициализацию можно провести один раз перед всеми циклами.
    Получение информации о неверном пароле через исключение замедляет работу. Стоит поискать возможность иначе узнавать что пароль неверен.
    Стоит поискать возможность открывать документ не из файловой системы, а из памяти. На крайний случай использовать ramdisk.
    Возможно, попытка открытия документа блокирует файл. Тогда стоит создавать нужное количество копий документа для параллельной обработки или для уменьшения паузы.
    Стоит поискать альтернативную библиотеку для работы с файлами Excel. Судя по всему, эта использует приложение Excel, возможно даже создаёт его экземпляр. Это медленно и мы натыкаемся на механизмы безопасности Ecxel.

  • @sasi911
    @sasi911 Před rokem

    13:02 а в чем смысл сравнивать скорость если ты таймслип добавил?

  • @Daibend
    @Daibend Před 3 lety

    я как тот, кто изучает ещё основы и прохожу в данный момент соглашения, а точнее защищённые и приватные аттрибуты - просто выпал от того, что творит этот джедай кода..

    • @PythonToday
      @PythonToday  Před 3 lety +1

      Да прям, я новичок и только учусь. Но спасибо)

  • @vetalvetalb485
    @vetalvetalb485 Před 2 lety

    Код выводит ошибку
    Подскажите чего не хватает
    Traceback (most recent call last):
    File "C:/Users/Vetal/PycharmProjects/pythonProject1/zdfg.py", line 73, in
    main()
    File "C:/Users/Vetal/PycharmProjects/pythonProject1/zdfg.py", line 69, in main
    print(brute_excel_doc())
    File "C:/Users/Vetal/PycharmProjects/pythonProject1/zdfg.py", line 41, in brute_excel_doc
    for pass_length in range(password_length[0], password_length[1] + 1):
    IndexError: list index out of range

  • @Daniel_Zhu_a6f
    @Daniel_Zhu_a6f Před 3 lety +1

    Парсить данные последовательно через try/except не очень технологично, лучше через argparse. или сделать код в виде нормального модуля, чтобы пользователь сам импортировал этот код через питон и запускал main. и лучше не выводить попытки через print, а сделать шкалу загрузки с помощью tdqm и обновлять ее, скажем, раз в 500 попыток, чтобы терминал не засорять, но пользователь видел, сколько осталось времени (это оч просто, tqdm сам все вычисляет, исходя из заданного кол-ва итераций).

  • @mironklimentenko3959
    @mironklimentenko3959 Před 3 lety

    Длина пароля не генератор а list comprehension, генератор не так работает

  • @StaniSoft
    @StaniSoft Před 3 lety +4

    молодец, что прогрессируешь, но я думаю брутфорс - не лучшая задача для питона, так как довоольнооо медленноооо

    • @PythonToday
      @PythonToday  Před 3 lety

      Спасибо за фидбэк. Это опыт, для меня самый важный именно он.

    • @evalinor
      @evalinor Před 3 lety

      Да не неси хуйню, нахуй в данном случае твой СИ не нужен, если заказ на 500 рублей.. Async в руки и вперёд.

    • @tentacle8148
      @tentacle8148 Před 3 lety +1

      @@evalinor Это вы не несите хуйню. Давайте сравним перфоманс на примере бинарных деревьев C++ и питона. Написать подобный код на C++ довольно таки мало времени занимает. Async это не решение проблемы. Тем более где он написал что-то про C++

    • @Kitulous
      @Kitulous Před 3 lety

      ещё лучше писать на шарпе с помощью класса Parallel, он автоматически распределяет нагрузку по потокам, так что даже если один поток будет делать легкую задачу и будет недогружен, шарп ему добавит работёнки

    • @tentacle8148
      @tentacle8148 Před 3 lety

      @@Kitulous Это не лучше но проще.

  • @agalko
    @agalko Před 3 lety

    Мне таки любопытно - ты это сделал просто из интереса? На подбор паролей есть специализированные софтины. К примеру JohnTheRipper - многопоточен, написан на сях, дико быстр и понимает кучу форматов и вариантов перебора, от хитрых словарей-гибридов до параметризированного брутфорса.
    Но таки да - тут оч прикольно было бы разделить это всё на потоки. В основном треде генератор паролей, в дочерних потоках - их проверка, например (я б так сделал). Было б быстрее. =)

    • @PythonToday
      @PythonToday  Před 3 lety

      Конечно потому, что было интересно разобраться самому.

  • @safetymark8654
    @safetymark8654 Před 3 lety

    Попались питонисты, я с вами)

    • @PythonToday
      @PythonToday  Před 3 lety

      В наших рядах прибыло 😀

  • @unl0ved-valorant
    @unl0ved-valorant Před rokem

    можете добавить графический интерфейс

  • @dyb541
    @dyb541 Před 3 lety +2

    чтобы было быстрее надо убрать все принты из цикла

  • @user-gi8pk1fw8n
    @user-gi8pk1fw8n Před 2 měsíci

    Как преобразовать еденичку в строке 36 там где ...[1] +1)...

  • @justieku
    @justieku Před 3 lety +2

    Было бы неплохо задействовать многопоточность

    • @user-fz7bn7hp1c
      @user-fz7bn7hp1c Před 3 lety +1

      в пайтене потоки не потоки

    • @justieku
      @justieku Před 3 lety

      @@user-fz7bn7hp1c Лучше асинхронность

  • @Anton_Holovin
    @Anton_Holovin Před rokem

    Как для попрактиковаться интересно. Но вообще в екселе пароль любой сложности убирается блокнотом за 3 минуты

    • @user-vy9el7gc5m
      @user-vy9el7gc5m Před 3 měsíci

      Нет если вы про хекс редактор он просто не разархивирует файл с паролем! Только если пароль на листе или в ВБА

  • @mrj7314
    @mrj7314 Před 3 lety

    Если убрать принты то будет намного быстрее. Я в своих программах много проверял

  • @mr_dalik5820
    @mr_dalik5820 Před 3 lety

    переменная которая хранит твой пароль не удаляется из памяти (попробуй прировнять её к нулю (я понимаю что это скорее всего костыль но попробуй))

    • @anuar9314
      @anuar9314 Před 3 lety

      Числа в питоне не изменяемы

  • @cyud7002
    @cyud7002 Před 2 lety

    А можно ли этот код направить на WIfi?

    • @PythonToday
      @PythonToday  Před 2 lety

      Для этих целей существует масса других полезных, и быстрых утилит. Как и в этом случае. Но был интерес сделать именно на Python.

  • @dhvriwokdoakemwfk
    @dhvriwokdoakemwfk Před rokem

    Что за программа в которой он писал код, подскажите пожалуйста кто может.

  • @user-ys2yp5gd9y
    @user-ys2yp5gd9y Před 3 lety +92

    переименовать файл в расширения в .zip и достать пароль, не благодарите )

    • @SCSFom
      @SCSFom Před 3 lety +3

      Можно даже не переименовывать.

    • @SuperWolchara
      @SuperWolchara Před 3 lety

      Открыть любым архиватором

    • @user-oh7me8mt8h
      @user-oh7me8mt8h Před 3 lety +10

      Я тебе больше скажу - можно написать макрос прямо в экселе, который подберет пароль примерно за полсекунды (там очень кривой хэш). Лично мне кажется уморительным, что можно взломать пароль используя только эксель)
      А пароль напрямую кстати достать не получиться, там его хэш записан, а не сам пароль... но можно просто удалить строчку с sheet protection и все будет работать

    • @faktorial6218
      @faktorial6218 Před 3 lety +6

      У нас тут мануал по написанию брутфорса на питоне. Да есть варианты выполнить именно эту задачу быстрее. А что вы будете делать к примеру с забытым паролем от файла данных оутлука? Ваши варианты тут не сработают. А этот более чем.

    • @user-ys2yp5gd9y
      @user-ys2yp5gd9y Před 3 lety

      @@faktorial6218 я вижу вы и файл Сноудена расшифровали ) куда мне )

  • @danber1893
    @danber1893 Před 3 lety

    Привет, ты знаешь как в Джанго в html код добавлять python функции, переменные и т.д короче подключить python скрипт к Django и от туда брать функции, переменные и добавлять к html коду

    • @PythonToday
      @PythonToday  Před 3 lety

      Привет, а чем django view отличается от обычных функций/классов? Выполняй там свой код и передавай в шаблоны.

    • @danber1893
      @danber1893 Před 3 lety

      @@PythonToday Спасибо, но ты можешь пожалуйста заснять на эту тему видео-ролик на такую тему нету виде, где люди передают функции и переменные

    • @PythonToday
      @PythonToday  Před 3 lety

      Мне кажется ты не совсем понимаешь как работает Django, без view никуда, и ты пишешь обычный код в функции, затем передаешь результат выполнения, будь то работа с базой либо просто a = 1 + 1 в контексте на шаблон. И это есть абсолютно в любом курсе или книге по Django.

    • @danber1893
      @danber1893 Před 3 lety

      @@PythonToday Да я вот сижу и думаю мысли какие есть, но не могу сообразить что делать но всё-таки хочется от тебя увидеть урок, я думаю он зайдет многим

    • @kokojamba
      @kokojamba Před 3 lety

      @@danber1893 у меня препод универовский снял несколько видосов по Джанго. Можешь глянуть, достаточно понятно объясняет. Курсач по его видосам смог написать, по крайней мере. Динар Ахметшин канал называется вроде