[Python] 这是一段杀进程的代码

1403 1
狼毛 2023-11-3 18:51:58 | 显示全部楼层 |阅读模式
第一段代码可以将任意字符串转换成hash值。主要对进程名进行操作。

  1. import hashlib  
  2.   
  3. def get_hash_from_filename(filename):  
  4.     """  
  5.     接受一个程序名作为输入,返回该程序名的哈希值。  
  6.     """  
  7.     # 将程序名转换为字节字符串  
  8.     filename_bytes = filename.encode('utf-8')  
  9.       
  10.     # 创建一个SHA-256哈希对象  
  11.     sha256_hash = hashlib.sha256()  
  12.       
  13.     # 更新哈希对象以包含程序名  
  14.     sha256_hash.update(filename_bytes)  
  15.       
  16.     # 返回程序名的哈希值(十六进制字符串)  
  17.     print(sha256_hash.hexdigest())


  18. get_hash_from_filename("QQ.exe")
复制代码
然后,杀掉进程。代码如下:
  1. import os  
  2. import hashlib  
  3. import psutil  
  4.   
  5. class Antivirus:  
  6.     def __init__(self, virus_hashes):  
  7.         self.virus_hashes = virus_hashes  
  8.          
  9.     def calculate_hash(self, file_path):  
  10.         sha256_hash = hashlib.sha256()  
  11.         with open(file_path, "rb") as f:  
  12.             for byte_block in iter(lambda: f.read(4096), b""):  
  13.                 sha256_hash.update(byte_block)  
  14.         return sha256_hash.hexdigest()  
  15.       
  16.     def scan_processes(self):  
  17.         for proc in psutil.process_iter():  
  18.             try:  
  19.                 # 检查进程名是否包含病毒特征字符串  
  20.                 if any(virus in proc.name() for virus in self.virus_hashes.values()):  
  21.                     print(f"发现病毒进程:{proc.name()},进程ID:{proc.pid}")  
  22.                     proc.kill()  
  23.                     print("病毒进程已被杀死")  
  24.             except (psutil.NoSuchProcess, psutil.AccessDenied, psutil.ZombieProcess):  
  25.                 pass  
  26.       
  27.     def run(self):  
  28.         self.scan_processes()  
  29.         print("杀毒完成")  
  30.   
  31. # 将病毒哈希值保存为文本文件  
  32. virus_hashes = {  
  33.     "e4d7f1b4ed2e42d15898f4b27b019da4a2c9a92e310fe5bbf6e1b21e7fc3d0c0": "virus1.exe",  
  34.     "5eb33fbb81304c97bea8e586a82b0e667c6c8d839ae1334f802e96a82348f8a7": "virus2.exe",  
  35.     "93b94e7dba504e3ba3778e7f509e1a501b3e3c7a796e6819e2a58fb74e5c3b32": "virus3.exe",
  36.     "f283c9794dcc426c9591e6fa7b79ec5b010936c8cc65dd060dd29e948d090099": "QQ.exe"  
  37. }  
  38. with open("virus_hashes.txt", "w") as f:  
  39.     for hash_value, file_name in virus_hashes.items():  
  40.         f.write(f"{hash_value}:{file_name}\n")  
  41.   
  42. # 从文本文件读取病毒哈希值  
  43. with open("virus_hashes.txt", "r") as f:  
  44.     virus_hashes = {}  
  45.     for line in f:  
  46.         hash_value, file_name = line.strip().split(":")  
  47.         virus_hashes[hash_value] = file_name  
  48.   
  49. # 创建一个杀毒软件对象  
  50. antivirus = Antivirus(virus_hashes)  
  51.   
  52. # 运行杀毒软件  
  53. antivirus.run()
复制代码


来自圈子: 中国红客联盟第五战区
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

狼毛

精英红客

关注
  • 206
    主题
  • 2
    粉丝
  • 1
    关注
这家伙很懒,什么都没留下!

中国红客联盟公众号

联系站长QQ:5520533

admin@chnhonker.com
Copyright © 2001-2025 Discuz Team. Powered by Discuz! X3.5 ( 粤ICP备13060014号 )|天天打卡 本站已运行