为了防止你破坏自己的电脑,请将下面文件以exe格式保存
import os, sys, subprocess, datetime, logging, time, schedule
logging.basicConfig(level=logging.INFO, format='%(asctime)s - %(levelname)s - %(message)s', handlers=[logging.FileHandler('sys_protect.log')])
B = r"C:\SystemBackup"; W = r"C:\Windows"
if not os.path.exists(B): os.makedirs(B)
def b(): t = datetime.datetime.now().strftime("%Y%m%d_%H%M%S"); p = os.path.join(B, f"Windows_{t}"); subprocess.run(['robocopy', W, p, '/E', '/XD', 'Temp', 'Temporal', '/R:0', '/W:0'], shell=True)
def r(): backups = [f for f in os.listdir(B) if f.startswith("Windows_")]; if not backups: return False; latest = max(backups, key=lambda x: os.path.getmtime(os.path.join(B, x))); p = os.path.join(B, latest); subprocess.run(['robocopy', p, W, '/E', '/XD', 'Temp', 'Temporal', '/R:0', '/W:0', '/MOV'], shell=True); return True
def m(): return any(k in ''.join(sys.argv).lower() for k in ["rmtree", "delete", "rm", "del", "windows", "c:\\windows", "shutdown", "format", "erase"])
schedule.every().day.at("02:00").do(b)
while True:
schedule.run_pending(); time.sleep(60)
if m():
logging.critical("Malicious code detected! Restoring system...")
r()
break