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

  Переглядів 101,521

PythonToday

PythonToday

День тому

Выполняем заказ взятый на фрилансе. Генерируем пароли от простого до сложного и подбираем забытый пароль к 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

КОМЕНТАРІ: 336
@PythonToday
@PythonToday 3 роки тому
Таймкоды для вас: 00:00 - Интро 00:15 - Описание проекта 01:19 - Пишем код для генерации как простых так и сложных паролей 02:44 - Код для выбора длины пароля 03:36 - Код для выбора сложности пароля 05:46 - Пишем цикл подбора пароля 07:54 - Установка необходимой библиотеки 08:56 - Необходимые настройки для открытия Excel файла 12:48 - Запуск скрипта
@wasafas2793
@wasafas2793 2 роки тому
А как возможно автоматизировать выбор длины пароля?
@wasafas2793
@wasafas2793 2 роки тому
Возможно ли вообще?
@plxgboi3602
@plxgboi3602 3 роки тому
Ого. Вот это контент. На канале и есть что посмотреть и чему научиться. Очень круто. Делайте дальше. Я сам пайтон не так давно начал учить и понял, что это того стоит
@PythonToday
@PythonToday 3 роки тому
Благодарю 💪 Успехов в изучении!
@eminaliyev3989
@eminaliyev3989 2 роки тому
Редко когда пишу комментарии к видео или ставлю лайк т.к. раздражают эти прелюдии. Но тут такой случай, когда автор имеет восхитительную дикцию, шикарно излагает мысль, приятного глазу оформляет канал без кричащих надписей как у инфо-цыган, укладывается 5 минут видео когда можно уложить в 5 минут и в 20, когда нужно в 20. Большое уважение автору! Браво!
@PythonToday
@PythonToday 2 роки тому
Большое спасибо за фидбэк и поддержку!
@Tokhab
@Tokhab 3 роки тому
Супер! Жду с нетерпением Tensorflow и все что связано с ИИ
@Bloody_River
@Bloody_River 3 роки тому
Очень полезно видеть всё от начала работы и до конца с объяснениями! Лике и субскрибе :}
@PythonToday
@PythonToday 3 роки тому
Спасибо за фидбэк!
@deus7204
@deus7204 3 роки тому
Спасибо за видео! Интересные проекты делаешь.
@PythonToday
@PythonToday 3 роки тому
Благодарю за фидбэк 👍
@user-zp8sq4lp8q
@user-zp8sq4lp8q 3 роки тому
Интересный материал, прям захотелось повторить)) Из идей по поводу скорости: когда мы пытаемся разлочить файлик паролем мы обращаемся к external файлу, а значит это I/O bound -> если код будет асинхронный или мультипоточный (не мультипроцессорный), работать все будет гораздо быстрее. Тут имхо приоритет за async/await А из мелкого, вместо counter лучше использовать enumerate))
@PythonToday
@PythonToday 3 роки тому
Спасибо за фидбэк. Я пока только вникаю в async и процессы.
@Steven-uj5sp
@Steven-uj5sp 2 роки тому
@@PythonToday Я бы еще обратил внимание на проверку слов указанной длины (например из словаря Windows. Если пароль будет состоять из 4-8 символов, а паролем окажется "Password" =) Потребуется намного меньше времени, чтобы перебрать слова длинной от 4 до 8) и введение символов, которые пользователь помнит, т.к. это тоже облегчит поиск (например знание того, что в слове хотя бы одна буква "a" даст значительный выигрыш) Надеюсь, что Вы заметите идею)
@romanperekatov2745
@romanperekatov2745 Рік тому
Спасибо,в конце ролика наглядно осознаешь про то что очень важно создавать сложные пароли)
@PythonToday
@PythonToday Рік тому
Это точно, спасибо за фидбэк!
@ivanfedorov7934
@ivanfedorov7934 3 роки тому
Есть топ видео а есть 🔥🔥🔥🔥🔥как это, супер спасибо
@PythonToday
@PythonToday 3 роки тому
Благодарю
@user-mo5wt4ue2r
@user-mo5wt4ue2r 3 роки тому
применение такого сомнительное, но для получения нового опыта самое то. я своим пользователям сделал просто удаление пароля (на сишарпе). пусть сами вводят новый.
@forthesoul1176
@forthesoul1176 3 роки тому
Очень классно делаете!
@PythonToday
@PythonToday 3 роки тому
Благодарю
@eYVgeni
@eYVgeni 3 роки тому
сюжеты не привязанные к конкретной операционной системе гораздо интереснее :-)
@MrFerting
@MrFerting 2 роки тому
Очень крутая подача и последовательность.
@PythonToday
@PythonToday 2 роки тому
Благодарю за фидбэк!
@gurin.shorts
@gurin.shorts 9 місяців тому
Python Today, вы лучшие в объяснение, давно хотел сделать подобную программку, но не знал как сделать данные подбор, в ютубе роликов не нашёл и тут наткнулся на вас, спасиьо огромное!
@user-yn8sm1ry2f
@user-yn8sm1ry2f 3 роки тому
Супер 🙌🏻 было бы не плохо развить тему об проведении трансляции в соц сетях рабочего стола или другого окна через питон 🐍
@user-no4mz5tz1t
@user-no4mz5tz1t 3 роки тому
Следующие возможные шаги улучшения: 1) распараллелить подбор 2) использовать jit например numba, половина скорости улетает в интерпретацию 3) и наверное не идти по порядку символов, а брать в разнобой, но при этом так, чтобы не повторяться
@spamcolector
@spamcolector 3 роки тому
Как сделать 3 пункт?
@cens6457
@cens6457 3 роки тому
@@spamcolector можно попробовать перемешать список possible_symbols перед тем, как генерировать пароль
@achavusov7372
@achavusov7372 2 роки тому
@@spamcolector возможно - бинарный поиск?
@Rizz_The_One
@Rizz_The_One Рік тому
а нельзя допустим скомпилировать какую то часть и не высчитывать её а как то использовать?
@itdepartament3333
@itdepartament3333 Рік тому
Красавчик
@user-ej7jl7uh1o
@user-ej7jl7uh1o 3 роки тому
Когда в вин открывает Эксель файлик - она создаёт процесс, который нужно в конце заканчивать. Выполните программу несколько раз и каждый раз смотрите диспетчер задач в процессах.
@PythonToday
@PythonToday 3 роки тому
Да, уже понял. Благодарю за пояснение 💪
@spamcolector
@spamcolector 3 роки тому
Можно фрагмент кода которий убивает процес?
@mister_robot01
@mister_robot01 3 роки тому
Очень нравится ваш канал, хотелось бы еще увидеть посмотреть как работать так же и с сайтами) Ждем продолжение на эту тему. Спасибо за ваш труд!
@sergeikrasnovskii9767
@sergeikrasnovskii9767 3 роки тому
На сайте после нескольких запросов тебя забанят! Поэтому либо нужна армия ботов, которая по очереди будет добиться в один и тот же аккаунт, так же не забываем про капчу которую ещё надо будет как то решать. Брутфорс сайтов гораздо сложнее.
@PythonToday
@PythonToday 3 роки тому
Благодарю за фидбэк. Но это не та платформа, на которой можно обсуждать, делать и выкладывать подобные темы.
@smileportal1601
@smileportal1601 3 роки тому
@@PythonToday снимай и залей на тг группу пж :)
@user-sd2bp2hg5l
@user-sd2bp2hg5l 3 роки тому
@@sergeikrasnovskii9767 для примера можно взять стандартную WP админку, где по умолчанию нет никакой защиты от брутфорса.
@samoiloff90
@samoiloff90 3 роки тому
Очень крутой контент!
@PythonToday
@PythonToday 3 роки тому
Спасибо)
@user-mz6bg7cf6g
@user-mz6bg7cf6g 3 роки тому
Как всегда интересно и полезно!!!!!!! можно использовать многопоточность с модулем threading будет быстрее
@mihun4ik
@mihun4ik 3 роки тому
> threading будет быстрее Не будет. threading в Python использует псевдопотоки (вместо нативных на процессоре). Соответственно для числомолотилок (перебор пароля подходит под такую классификацию) не подойдет threading из Python.
@LastWeg
@LastWeg 3 роки тому
Спасибо за видос.
@PythonToday
@PythonToday 3 роки тому
💪
@vigauss1889
@vigauss1889 3 роки тому
Чувак! Ты просто какой-то безумец! Спасибо тебе огромное за проделанную работу! Ответь пожалуйста в ТГ, по поводу уроков.
@PythonToday
@PythonToday 3 роки тому
Спасибо) Ответил
@shuwiku
@shuwiku 2 роки тому
Моё мнение по поводу всего Видео хорошее, я узнал про 2 новые библиотеки, узнал про работу с API Winsows через Python. Что я предлагаю 1. Убрать все printы, ибо они ну кпц как замедляют работу программы. Если надо знать, что происходит, лучше использовать логирование в .txt файл, оно будет куда быстрее (модуль logging) 2. Я всё ещё до конца не разобрался с асинхронными функциями, но, если я правильно понимаю, то конкретно ввод пароля можно запихнуть в асинхронную функцию, и оно может станет чуть быстрее 3. Ввод данных пользователем можно запихнуть в один try-exept-finally, но это так, просто предложение
@georgii2012
@georgii2012 3 роки тому
Hashcat one love Способ рабочий, но очень медленный и не оптимизированный) Если уж и самому делать, то нужно хотя бы постараться максимально оптимизировать код, не вызывать каждый раз функции winapi и т. д.
@gu8ka
@gu8ka 3 роки тому
Продолжай в том же духе
@PythonToday
@PythonToday 3 роки тому
Спасибо за фидбэк 👍
@PeterPike1982
@PeterPike1982 Рік тому
Интересный канал, интересные темы, интересная подача
@PythonToday
@PythonToday Рік тому
Большое спасибо!
@1speede1
@1speede1 2 роки тому
Здорово, Python очень полезный инструмент. Реально заинтересовал. Раньше часто пароли в ексель файлах забывал.
@PythonToday
@PythonToday 2 роки тому
Для этих задач есть гораздо более быстрые программы) Было интересно опробовать самому. Но скорость очень медленная.
@1speede1
@1speede1 2 роки тому
Здорово что есть готовые решения. Но чувство когда сделал сам значительно ценнее, его не сравнить ни с чем. Даже когда пишешь говн@код, радуешься как ребенок если он работает как ожидалось))) А тут, оказывается, можно вполне реальные задачи решать, даже на моем уровне.
@PythonToday
@PythonToday 2 роки тому
Полностью согласен, главное практика) Хоть и много говн0кода)
@Andrey-yh6yw
@Andrey-yh6yw 3 роки тому
Если хотите добавить многопроцессорность, то, я думаю, будет лучше не разбить множество всевозможных вариантов пароля на куски и дать по куску каждому процессу, а сделать так чтобы этот список вариантов был единым и хранился в главном родительском процессе, а все остальные процессы брали бы оттуда пароли. Это можно реализовать с помощью класса Queue модуля multiprocessing. Такой подход лучше потому, что все потоки распределят нагрузку равномерно и гарантированно закончат работать в одно и то же время. Об этих вещах хорошо рассказано в четвёртой лекции Тимофея Хирьянова из курса анализа данных на python
@PythonToday
@PythonToday 3 роки тому
Спасибо большое, гляну обязательно, не силен в процессах. Но думал нужно копировать файл и отдавать каждому процессу, чтобы каждый процесс открывал и закрывал свой файл. Не пробовал пока, но думаю могут возникнуть проблемы если каждый процесс будет долбиться в один файл. И как быть с тем, если не разбивать лист паролей для каждого процесса, каждый из процессов будет работать по одному и тому же списку ведь и будет выполнять идентичную работу и это не приведет к ускорению перебора. Или я не так понял?
@Andrey-yh6yw
@Andrey-yh6yw 3 роки тому
@@PythonToday так я же писал, что это делается с помощью Queue из модуля multiprocessing - это специальный канал связи между процессами, который выдаётся операционной системой - список, из которого можно брать и в который можно класть всё что угодно асинхронно из разных процессов, и не возникнет никаких проблем типа "race condition", так как эта Queue сделана специально для асинхронного обмена информацией между процессами.
@PythonToday
@PythonToday 3 роки тому
Еще раз спасибо, посмотрю сначала лекцию, пока не понимаю как работает.
@rapture-dev
@rapture-dev 3 роки тому
Или программа упадет с OutOfMemoryError (посчитай количество возможных паролей длины 10 из цифр и латиницы) К тому же синхронизация коллекции тоже использует ресурсы, не говоря про невозможность кэширования thread safe коллекции В таком случае правильнее передать в поток номер начала и конца, внутри потока его один раз декодировать в нужные индексы циклов. Количество нужной памяти O(1), а не O(C^N), а также никакой конкуренции за ресурсы и накладных ресурсов на синхронизацию (разве что чекать одну атомарную переменную флаг раз в Х итераций)
@alexprodeveloper
@alexprodeveloper 3 роки тому
проблемму с кешированием, можно решить просто удалением файлов *.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 3 роки тому
Если есть возможность, можешь ссылку на github код дать, с удовольствием гляну.
@chumazyi6797
@chumazyi6797 3 роки тому
Жду продолжения парсинга тик-тока. Нигде не могу найти, как парсить тик-токи по хештегам. Особенно хотелось бы их сортировать по дате публикации
@user-oh7me8mt8h
@user-oh7me8mt8h 3 роки тому
Есть несколько способов, но самый простой, чтоб не сильно париться с кодом (и если бешеная скорость не нужна) - используя selenium найти видео по хештегу, вытащить все нужные данные регулярками, запихнуть в базу.... работать будет.. но со скромной скоростью... если запариться немножко и убрать selenium, то будет быстрее
@user-od2fz2tl7d
@user-od2fz2tl7d 2 роки тому
Посмотрите не публичный апи на питоне для тиктока
@patience5298
@patience5298 2 роки тому
Редко оставляю лайки, а коментарии пишу на 1 из миллиона роликов, но чёрт возьми ты лучший этот скрипт на хак локальных забытых паролей просто великолепен и бесконечно полезен. Не думал написать что-нибудь по сложнее, например, как этот скрипт улучшить что бы он обходил банальную защиту в кол-во неверно введенных паролей и тп
@PythonToday
@PythonToday 2 роки тому
Большое спасибо за фидбэк, но это лишь проба написать брутфорс средствами python самому. Для решения таким проблем есть специальные, гораздо более эффективные и скоростные инструменты)
@DmanBR
@DmanBR 3 роки тому
По поводу потоков, в питоне быстрей не сделают, может даже медленей - один instance of interpreter
@staskazakovcom
@staskazakovcom Рік тому
Отличный контент. Больше бы видео по взломам.
@gaidjiin9977
@gaidjiin9977 3 роки тому
Привет, только пришел с твоего видео о фрилансе)))Научился парсить сайты по твоим видео) Спасибо тебе огромное:) И ещё хотел спросить,могу ли я уже выполнять хоть маленькие заказы только со знанием парсинга сайтов?
@PythonToday
@PythonToday 3 роки тому
Привет, конечно можешь. Это одна из самых больших и активных ниш.
@gaidjiin9977
@gaidjiin9977 3 роки тому
@@PythonToday понял, спасибо огромное)
@why-ej2xo
@why-ej2xo 2 роки тому
@@gaidjiin9977 как успехи?
@andreyandrey1004
@andreyandrey1004 2 роки тому
Просто взрыв мозга ) класс
@PythonToday
@PythonToday 2 роки тому
Благодарю за фидбэк!
@user-hi2xp9nk7l
@user-hi2xp9nk7l День тому
Отличное видео! Спасибо.
@Silver_men_rev
@Silver_men_rev 3 роки тому
Спасибо дружище, очень полезно и очень интересно, по одноклассникам не намечается парсир?
@user-ey8lc3vz7n
@user-ey8lc3vz7n 3 роки тому
что там парсить, если не секрет?
@PythonToday
@PythonToday 3 роки тому
Благодарю! А что там парсить? Последний раз заходил туда году в 2008 😀
@tonykardio4451
@tonykardio4451 3 роки тому
Следующий шаг - import multiprocessing . Размножить файл до нужного уровня параллелизма. И затем скормить каждому процессу свой кусок комбинаций. Многопоточность (import threading) не подойдёт из-за особенностей интерпретатора питона (он не позволяет по умолчанию выполняться многопоточно). Если предполагается посадить бота на сервер, то выгодно заранее сгенерировать данные и потом "быстренько" плодить процессы и параллелить перебор.
@PythonToday
@PythonToday 3 роки тому
Буду пробовать, но количество процессов напрямую ведь зависит от процессора ПК? Я к тому, что на бюджетном хостинге, будет беда. Или не прав? Если есть опыт поделись пожалуйста, либо примером кода.
@tonykardio4451
@tonykardio4451 3 роки тому
@@PythonToday Да, если на сервере мало оперативки, то будет не очень. Можно руками подобрать оптимальное количество процессов. Количество ядер на самом кристалле пк влияет на то, сколько по-настоящему одновременных задач может исполняться. Если ядро одно, то, возможно, и пытаться смысла нет. Скорость только лишь уменьшится, из-за затрат на создание процессов и переключение между ними.
@Max_Kheler
@Max_Kheler 3 роки тому
@@PythonToday будет продолжения на шаблоны и улучшения кода если будет то он будет скрыт тут или в телеграмме если не вопрос или вообще это единственное произведения?
@fromtheshadow8280
@fromtheshadow8280 3 роки тому
Способы оптимизации, которые мне с ходу пришли в голову: 1. Сделать многопоточность - самое очевидное и пояснять ничего не надо 2. Вместо вывода в консоль каждой попытки перебора пароля сделать что-то другое. Например, графический интерфейс со статус баром. Вывод строк в консоль оооооочень много времени отжирает в вычислениях, проверено на чистом си
@quadroninja2708
@quadroninja2708 2 роки тому
второе актуально в олимпиадах по информатике, один раз задача не зашла из-за endl вместо ' '
@fromtheshadow8280
@fromtheshadow8280 2 роки тому
@@quadroninja2708 почему только олимпиады, если это практическое наблюдение? Скорость работы очень хорошо бустится без лишних выводов в консоль
@quadroninja2708
@quadroninja2708 2 роки тому
@@fromtheshadow8280 не, просто наблюдение. Иногда вывести тоже нужно правильно
@oreh350
@oreh350 Рік тому
Поставил пароль 492 и с выводом в командную строку у меня ломает пароль за 1:45, без вывода за 1:37 так что да работает быстрее, но незначительно. Есть какие-либо еще идеи? Может кто поправил код с реализацией многопоточности? Если так то киньте пожалуйста Git
@fromtheshadow8280
@fromtheshadow8280 Рік тому
@@oreh350 рост времени от увеличения длины пароля будет расти по экспоненте, так что если попробовать на 7 знаках в пароле, то получится интереснее
@konfuze_top
@konfuze_top 3 роки тому
Спасибо! Сделал brute force паролей md5. И компилировал в C код, чтобы быстрее было. (с помощью nuitka компилировал)
@PythonToday
@PythonToday 3 роки тому
Благодарю за фидбэк. Можешь ссылку на код дать? С удовольствием бы глянул.
@konfuze_top
@konfuze_top 3 роки тому
@@PythonToday Вот ссылка pastebin.com/2WH2uRUH
@PythonToday
@PythonToday 3 роки тому
Благодарю, думал может добавил процессы или потоки.
@konfuze_top
@konfuze_top 3 роки тому
@@PythonToday я в потоках не шарю(
@dizel3938
@dizel3938 2 роки тому
@@konfuze_top Объясни дураку, куда в твоем коде ты указываешь путь к файлу и непосредственно файл? Совсем не понял но очень интересно
@coryasan
@coryasan 2 роки тому
Смотрю Ваши ролики по питону как сериал😄
@PythonToday
@PythonToday 2 роки тому
Благодарю)
@Anonim-im6ln
@Anonim-im6ln 2 роки тому
Клас!)
@90000nik
@90000nik Рік тому
в password_lenght вы используете list comprehension, но можно ведь использовать generator expressions для ускорения программы чтобы не читать всю все значения в строке а только нужные на данный момент. Если нельзя использовать generator expressions можете объяснить почему?
@viktorsova7342
@viktorsova7342 Рік тому
Коммент на 13:55 : вероятнее всего при повторном запуске после Успешного входа в файл - он просто остается висеть в системе в незакрытом процессе. и при повторном запуске скрипт считывает успешное открытие на первой итерации и вываливается с поздравлением.
@TAGRUAT0
@TAGRUAT0 2 роки тому
За тобой уже выехали!
@gaidjiin9977
@gaidjiin9977 3 роки тому
Я не до конца понял,а что означает content в requests?Можно ли обойтись без него?
@antonkaster
@antonkaster 3 роки тому
Вывод чего-либо в консоль замедляет перебор. Не стоит выводить информацию на каждом шаге. Инициализация объекта Excel.Application в теле цикла замедляет работу. Возможно, эту инициализацию можно провести один раз перед всеми циклами. Получение информации о неверном пароле через исключение замедляет работу. Стоит поискать возможность иначе узнавать что пароль неверен. Стоит поискать возможность открывать документ не из файловой системы, а из памяти. На крайний случай использовать ramdisk. Возможно, попытка открытия документа блокирует файл. Тогда стоит создавать нужное количество копий документа для параллельной обработки или для уменьшения паузы. Стоит поискать альтернативную библиотеку для работы с файлами Excel. Судя по всему, эта использует приложение Excel, возможно даже создаёт его экземпляр. Это медленно и мы натыкаемся на механизмы безопасности Ecxel.
@user-us7eb8bi9l
@user-us7eb8bi9l 2 роки тому
Если опустить все более адекватные способы извлечения пароля и попробовать довести до ума этот, то таки имею что сказать. 1) проверке пароля передаётся пусть, а значит файл читается заново с носителя => чем больше размер файла, тем всё будет печальнее. Решение - попробовать поместить файл в оперативку и работать с ним там, будет это объект внутри приложения или какой-то RAM-диск - по идее не принципиально. 2) Как уже было верно предложено, можно использовать многопоточность, но только внутри функции, так же можно попробовать посмотреть в сторону кластерности - Torch/Celery, тут уже комбайн может получиться знатный.
@sergioborussa
@sergioborussa 2 роки тому
👍
@alexzeek8985
@alexzeek8985 2 роки тому
круто
@PythonToday
@PythonToday 2 роки тому
Спасибо!
@user-ys2yp5gd9y
@user-ys2yp5gd9y 3 роки тому
переименовать файл в расширения в .zip и достать пароль, не благодарите )
@SCSFom
@SCSFom 3 роки тому
Можно даже не переименовывать.
@SuperWolchara
@SuperWolchara 3 роки тому
Открыть любым архиватором
@user-oh7me8mt8h
@user-oh7me8mt8h 3 роки тому
Я тебе больше скажу - можно написать макрос прямо в экселе, который подберет пароль примерно за полсекунды (там очень кривой хэш). Лично мне кажется уморительным, что можно взломать пароль используя только эксель) А пароль напрямую кстати достать не получиться, там его хэш записан, а не сам пароль... но можно просто удалить строчку с sheet protection и все будет работать
@faktorial6218
@faktorial6218 3 роки тому
У нас тут мануал по написанию брутфорса на питоне. Да есть варианты выполнить именно эту задачу быстрее. А что вы будете делать к примеру с забытым паролем от файла данных оутлука? Ваши варианты тут не сработают. А этот более чем.
@user-ys2yp5gd9y
@user-ys2yp5gd9y 3 роки тому
@@faktorial6218 я вижу вы и файл Сноудена расшифровали ) куда мне )
@vardges6482
@vardges6482 2 роки тому
Хороший броутфоос получился можно для зим файла использиввть
@Daniel_Zhu_a6f
@Daniel_Zhu_a6f 3 роки тому
Парсить данные последовательно через try/except не очень технологично, лучше через argparse. или сделать код в виде нормального модуля, чтобы пользователь сам импортировал этот код через питон и запускал main. и лучше не выводить попытки через print, а сделать шкалу загрузки с помощью tdqm и обновлять ее, скажем, раз в 500 попыток, чтобы терминал не засорять, но пользователь видел, сколько осталось времени (это оч просто, tqdm сам все вычисляет, исходя из заданного кол-ва итераций).
@PythonToday
@PythonToday 3 роки тому
Спасибо за фидбэк!
@ac130kz
@ac130kz 3 роки тому
Дядь, какой ручной перебор, используй hashcat
@muresda2047
@muresda2047 3 роки тому
Во время перебора не выводи ничего в консоль. Так скорость в несколько раз быстрее)
@PythonToday
@PythonToday 3 роки тому
А разве это связано в данном случае? Как понял к файлу можно делать запрос не чаще чем 0.1с, что вполне отрабатывает и с принтами. Возможно я не прав.
@muresda2047
@muresda2047 3 роки тому
@@PythonToday Я особо в этом не разбираюсь, просто из совсем небольшого опыта, говорю. Например когда проходишь в цикле по фотографии, и каждый пиксель обрабатываешь, а затем ещё выводишь информацию, то обработка фотографии занимает раз в 100 больше времени, если не в тысячу, чем без вывода информации. Также я часто встречал это когда писал другие большие циклы. Кстати, есть ещё одна идея.... это попробовать использовать мультипоточность. Но тут я совсем не разбираюсь, но думаю что это должно ускорить процесс перебора.
@alexdeadykhin5203
@alexdeadykhin5203 3 роки тому
Да, вывод тормозит процесс перебора. Так как на каждый вывод затрачивается время, а вывод это массив который надо перебрать . По сути любой текст это массив который перебирается в цикле и выводит сумму всех символов
@user-dw6sv5nf6y
@user-dw6sv5nf6y 3 роки тому
у меня вопрос вот к примеру есть у меня слово привет и есть алфавит где к каждой букве приставлен спец символ как мне заменять буквы на определёные символы?
@MyNameIsChira
@MyNameIsChira 2 роки тому
Привет, не знаю увидишь ты или нет, но тем не менее. Посмотрел некоторые из твоих роликов и обратил внимание на то что ты очень любишь много консольного вывода. Это может быть проблемой с производительностью для твоих скриптов. Чтобы наглядно увидеть как это влияет, просто сделай цикл, от нуля до например ста тысяч. И в одной версии сделай вывод в каждой итерации, а в другой версии - вывод только последнего числа. И замерь время. Увидишь что оно различается на порядки. Так же обрати внимание что скорость вывода - не постоянна. В различных эмуляторах терминала она может быть разной.
@PythonToday
@PythonToday 2 роки тому
Приветствую, благодарю за фидбэк! Принты добавляю для визуализации на ютубе, чтоб люди понимали, что происходит. Единственное, зря не проговорил это)
@user-oh7me8mt8h
@user-oh7me8mt8h 3 роки тому
Я ничего не хочу сказать, видео классное! Но это самый бессмысленно сложный способ подбора пароля для Excel)
@evgen3790
@evgen3790 2 роки тому
можно было сильно проще сделать Достаточно вытащить хэш пароля из эксель файла ( в интернете есть готовые решения как это сделать за несколько секунд) А дальше расшифровать хэш))) Софт под расшифровку хэша есть всякий разный, но лучше всего использовать тот, где есть поддержка видеокарты. Там скорость перебора в некоторых типах шифрования достигает до миллионов в секунду))
@PythonToday
@PythonToday 2 роки тому
Благодарю за фидбэк! Пароль можно было подобрать за пару минут тем же hashcat, интерес был попробовать сделать переборщик самому.
@OKaIroN
@OKaIroN Рік тому
Интересный видос👍🏻 Один вопрос, почему везде принт, есть же логгер.
@Stepan_bendera
@Stepan_bendera 2 роки тому
День добрый подскажите есть урок по подбору паролей к веб приложениям.
@user-dw6qb6oh2v
@user-dw6qb6oh2v Рік тому
Интересно. Не совсем понял, что в Kali нет своего инструмента для установления пароля? По-моему, он даже в файловых менеджерах, типа Total Commander есть (открыть пароль под звездочками)... Или я чего не понимаю? Обязательно свой скрипт писать?
@PythonToday
@PythonToday Рік тому
Есть множество инструментов, был интерес попробовать написать самому.
@StaniSoft
@StaniSoft 3 роки тому
молодец, что прогрессируешь, но я думаю брутфорс - не лучшая задача для питона, так как довоольнооо медленноооо
@PythonToday
@PythonToday 3 роки тому
Спасибо за фидбэк. Это опыт, для меня самый важный именно он.
@evalinor
@evalinor 3 роки тому
Да не неси хуйню, нахуй в данном случае твой СИ не нужен, если заказ на 500 рублей.. Async в руки и вперёд.
@tentacle8148
@tentacle8148 3 роки тому
@@evalinor Это вы не несите хуйню. Давайте сравним перфоманс на примере бинарных деревьев C++ и питона. Написать подобный код на C++ довольно таки мало времени занимает. Async это не решение проблемы. Тем более где он написал что-то про C++
@Kitulous
@Kitulous 3 роки тому
ещё лучше писать на шарпе с помощью класса Parallel, он автоматически распределяет нагрузку по потокам, так что даже если один поток будет делать легкую задачу и будет недогружен, шарп ему добавит работёнки
@tentacle8148
@tentacle8148 3 роки тому
@@Kitulous Это не лучше но проще.
@MrAndrewam3
@MrAndrewam3 3 роки тому
Ну да, простой способ есть ) excel - это zip архив, переименовываем, открываем, редактируя 1 файл удаляем пароль, архивируем. Привет Майкрософт и псевдобезопасность )
@PythonToday
@PythonToday 3 роки тому
На свежем 2021 у тебя это сработало?
@snorchellomad6267
@snorchellomad6267 2 роки тому
Только начал изучать python, но с профессиональным софтом по бруту паролей к документам неоднократно сталкивался. В какой-то программе реализован перебор на GPU, что сильно ускоряет процесс. В идеале, наверное, распараллелить задачу именно на графический процессор (ядер сильно больше, память шустрее, соответственно и операций за такт намного больше, почему они и стали такими эффективными в майнинге), но я, к сожалению, понятия не имею, как это сделать :)
@oreh350
@oreh350 Рік тому
Сударь если вы когда либо сделаете такое, скиньте пожалуйста код
@tmrmln2780
@tmrmln2780 Рік тому
Привет. Может я что то упускаю , но мне кажется что для длины пароля достаточна начальная длина и если длина пароля во вермя брута увеличивается, то влюбом случаи , при совпадении , брут сработает . Не значю как повлияет на скорость , но мы в коде сокращаем человеческий фактор на 50 процентов , вдруг человек забывший пароль точно не помнит какая конечная длина пароля, и если он ограничит этот параметр придется перебирать занового с увеличиным порогом , а так в любом случаи брут будет брутить пока не нарвется на совпадениее! Поправте если не прав.
@user-sv2bh3vy7b
@user-sv2bh3vy7b 3 роки тому
Строка остается на тех же 023 поэтому при повторном запуске у тебя и вылетает сразу результат! P.s. необходимо в наборе символов после первого перебора что бы возвращал строку на начало!
@PythonToday
@PythonToday 3 роки тому
А разве не потому, что файл открыть но не закрыт?
@user-sv2bh3vy7b
@user-sv2bh3vy7b 3 роки тому
​@@PythonToday Ну если пере-открыть файл то соответственно курсор будет с начала строки, или же его можно перевести в начало строки. P.s это мои догадки )) я только учусь ))
@user-sv2bh3vy7b
@user-sv2bh3vy7b 3 роки тому
@@PythonToday ну все верно, если пере открыть файл то строка вернется в начало, а можно ее вернуть в начало командой
@Sfinxsx
@Sfinxsx 3 роки тому
А как подобрать пароль к листу или книге, который установлен на защиту от изменений (редактирований), а не при открытии файла?
@user-oh7me8mt8h
@user-oh7me8mt8h 3 роки тому
Загуглить и узнать, что существуют буквально макросы, которые подбирают пароли и к листу, и к книге.
@Sfinxsx
@Sfinxsx 3 роки тому
@@user-oh7me8mt8h Благодарю!
@obriensmith6091
@obriensmith6091 2 роки тому
Хм, а для libre в mint есть подобная библиотека?
@danielbobrivich6849
@danielbobrivich6849 3 роки тому
@pythonToday не работает если ставить только буквенный выдает стандартный aaaa при любом раскладе как пофиксить знаешь?
@safetymark8654
@safetymark8654 3 роки тому
Попались питонисты, я с вами)
@PythonToday
@PythonToday 3 роки тому
В наших рядах прибыло 😀
@Daibend
@Daibend 3 роки тому
я как тот, кто изучает ещё основы и прохожу в данный момент соглашения, а точнее защищённые и приватные аттрибуты - просто выпал от того, что творит этот джедай кода..
@PythonToday
@PythonToday 3 роки тому
Да прям, я новичок и только учусь. Но спасибо)
@infoolam8003
@infoolam8003 3 роки тому
Можно ли с помощью питона, читать и отвечать на входящие смс?
@kislotka9717
@kislotka9717 3 роки тому
Да, при помощи комп'ютерного зрения и бота, или только бота.
@armankaibalyev625
@armankaibalyev625 3 роки тому
Python gsm
@hound2235
@hound2235 3 роки тому
2,3 секунды из-за выводов в консоль так то питон быстро подобрал пароль
@syracuse4612
@syracuse4612 3 роки тому
а как подключить этот код к , например, вк или другим соцсетям?типо что бы это не только в консоли работало)
@abdurakhmanov__g
@abdurakhmanov__g 2 роки тому
пахпахпа, я тож поэтому зашел
@agalko
@agalko 3 роки тому
Мне таки любопытно - ты это сделал просто из интереса? На подбор паролей есть специализированные софтины. К примеру JohnTheRipper - многопоточен, написан на сях, дико быстр и понимает кучу форматов и вариантов перебора, от хитрых словарей-гибридов до параметризированного брутфорса. Но таки да - тут оч прикольно было бы разделить это всё на потоки. В основном треде генератор паролей, в дочерних потоках - их проверка, например (я б так сделал). Было б быстрее. =)
@PythonToday
@PythonToday 3 роки тому
Конечно потому, что было интересно разобраться самому.
@kykyqq3133
@kykyqq3133 Рік тому
Привет,вопрос не по теме. Интересует информация по курсам Python для не граждан России,очень много гомнокурсов на просторах интернета и хотелось бы их обойти стороной,может кто подскажет стоющий внимания курс?спасибо. П.с онлайн курс конечно же..
@aleksandr_muga
@aleksandr_muga 2 роки тому
За имя xlsx файла отдельный лайк)
@PythonToday
@PythonToday 2 роки тому
Спасибо)
@justieku
@justieku 3 роки тому
Было бы неплохо задействовать многопоточность
@user-fz7bn7hp1c
@user-fz7bn7hp1c 3 роки тому
в пайтене потоки не потоки
@justieku
@justieku 3 роки тому
@@user-fz7bn7hp1c Лучше асинхронность
@sjakabelch
@sjakabelch Рік тому
а в MS точно надо подбирать пароль? Вроде Office Password Recovery умеет просто его подсмотреть
@dyb541
@dyb541 3 роки тому
чтобы было быстрее надо убрать все принты из цикла
@vetalvetalb485
@vetalvetalb485 2 роки тому
Код выводит ошибку Подскажите чего не хватает 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
@djdkdkrk
@djdkdkrk 3 роки тому
у меня вопрос низнаю насколько глупый, сколько времени уйдет на перебор всех от6 до8 символов??? хоть приблизительно.
@longgo1234
@longgo1234 2 роки тому
А как можно сделать так чтобы он вводил в программу? как взять управление в виндоус, чтобы он вводил в окошку программу?
@danber1893
@danber1893 3 роки тому
Привет, ты знаешь как в Джанго в html код добавлять python функции, переменные и т.д короче подключить python скрипт к Django и от туда брать функции, переменные и добавлять к html коду
@PythonToday
@PythonToday 3 роки тому
Привет, а чем django view отличается от обычных функций/классов? Выполняй там свой код и передавай в шаблоны.
@danber1893
@danber1893 3 роки тому
@@PythonToday Спасибо, но ты можешь пожалуйста заснять на эту тему видео-ролик на такую тему нету виде, где люди передают функции и переменные
@PythonToday
@PythonToday 3 роки тому
Мне кажется ты не совсем понимаешь как работает Django, без view никуда, и ты пишешь обычный код в функции, затем передаешь результат выполнения, будь то работа с базой либо просто a = 1 + 1 в контексте на шаблон. И это есть абсолютно в любом курсе или книге по Django.
@danber1893
@danber1893 3 роки тому
@@PythonToday Да я вот сижу и думаю мысли какие есть, но не могу сообразить что делать но всё-таки хочется от тебя увидеть урок, я думаю он зайдет многим
@kokojamba
@kokojamba 3 роки тому
@@danber1893 у меня препод универовский снял несколько видосов по Джанго. Можешь глянуть, достаточно понятно объясняет. Курсач по его видосам смог написать, по крайней мере. Динар Ахметшин канал называется вроде
@darksniper407
@darksniper407 3 роки тому
Доброго времени суток Насчет подбора - не понял, зачем так. Мой вариант генерации: import random, re, time from string import digits, punctuation, ascii_letters symbols = [f'{digits}', f'{ascii_letters}', f'{digits}{ascii_letters}', f'{digits}{ascii_letters}{punctuation}']; pot_symbols = '' chosen = input('...'); rand = 0 pass_lenth = input('...') pass_lenth = [ int(item) for item in pass_lenth.split("-")] if re.match('^[1-4]$', chosen): pot_symbols = symbols[int(chosen)-1] st = time.time() for i in range(20000): print(f'{rand} - ', end=''); print(''.join(random.choice(pot_symbols) for _ in range(random.randint(pass_lenth[0], pass_lenth[1])))); rand += 1 fin = time.time(); print(f"Created {rand} in {fin-st}.") Как-то так.
@PythonToday
@PythonToday 3 роки тому
Привет, так у каждого свой код, если твой вариант работает - отлично
@sergeysobolenko871
@sergeysobolenko871 2 роки тому
Здравствуйте. На счет ускорения брутфорса. А как на счет того чтобы создать несколько копий данного ексель файла. И пробовать одновременно часть паролей для одного файла, другую для второго файла и тд. А потом в конце удалить копии ексель файла.
@PythonToday
@PythonToday 2 роки тому
Приветствую, да, как один из вариантов. Но есть и другие способы и программы быстро расколоть. Было интересно попробовать самому)
@Rizz_The_One
@Rizz_The_One Рік тому
а нельзя допустим скомпилировать какую то часть и не высчитывать её а как то использовать?
@sasi911
@sasi911 11 місяців тому
13:02 а в чем смысл сравнивать скорость если ты таймслип добавил?
@user-gu4xb1uu9k
@user-gu4xb1uu9k 3 роки тому
Если мои расчеты верны, я подберу пароль из 7 цифр и латинских букв в большом и маленьком регистре за 11000 лет
@puturoi
@puturoi 3 роки тому
небыстро. Не мог бы привести расчеты для тех, кто не знает как считать, но кому интересно? Например мне
@SCSFom
@SCSFom 3 роки тому
Просто разархивируй документ мс офиса.... зачем програмировать там где можно сделать быстрее руками?
@nikolay.tixonics
@nikolay.tixonics 2 роки тому
@@SCSFom я разархивировал и что дальше? где пароль лежит?
@mr_dalik5820
@mr_dalik5820 3 роки тому
переменная которая хранит твой пароль не удаляется из памяти (попробуй прировнять её к нулю (я понимаю что это скорее всего костыль но попробуй))
@anuar9314
@anuar9314 3 роки тому
Числа в питоне не изменяемы
@mrj7314
@mrj7314 3 роки тому
Если убрать принты то будет намного быстрее. Я в своих программах много проверял
@mironklimentenko3959
@mironklimentenko3959 3 роки тому
Длина пароля не генератор а list comprehension, генератор не так работает
@archeboom
@archeboom 2 роки тому
Второй раз пароль находит моментально так как питон его запомнил можно вызвать id() и посмотреть так же dir() покаже что сохраненно
@HaterCheaters
@HaterCheaters 3 роки тому
pass в цикле for юзать не нужно в данной ситуации... логичнее использовать continue
@nargan1129
@nargan1129 2 роки тому
У меня почему-то при вводе неправильного пароля ошибки не вызывается и try/except не срабатывает
@warpmaster
@warpmaster 3 роки тому
Конструкция try except работает достаточно долго и не подходит для таких целей. Все принты так же замедляют выполнение программы. Поможет переписать под асинхронику, потому что каждый раз вызывается доступ к файлу, что долго. Лучше всего достать как-то хеш пароля из файла и сравнивать уже по нему.
@Anton_Holovin
@Anton_Holovin Рік тому
Как для попрактиковаться интересно. Но вообще в екселе пароль любой сложности убирается блокнотом за 3 минуты
@user-vy9el7gc5m
@user-vy9el7gc5m 28 днів тому
Нет если вы про хекс редактор он просто не разархивирует файл с паролем! Только если пароль на листе или в ВБА
@Fizznt123
@Fizznt123 Рік тому
есть идеальная идея. импортнуть нумбу и использовать prange вместо range
1 класс vs 11 класс (рисунок)
00:37
БЕРТ
Переглядів 3,9 млн
Bro smelt it & passed out 😂 #comedy
00:10
MrTalalaa
Переглядів 7 млн
"Поховали поруч": у Луцьку попрощались із ДВОМА Героями 🕯🥀 #герої #втрати
00:15
Телеканал Конкурент TV - новини Луцька та Волині
Переглядів 253 тис.
Как я начал изучать нейросети и python
14:54