最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用Python制作一個惡意軟件刪除工具

 更新時間:2024年02月06日 08:44:27   作者:白客小李666  
這篇文章主要為大家詳細介紹了如何使用Python制作一個惡意軟件刪除工具,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下

今天,來教大家用python制作一個惡意軟件刪除工具

查殺流程圖

對,就這些,已經(jīng)具備了殺毒軟件的功能

判斷文件是否為病毒

要查殺病毒,先要判斷文件是不是病毒(不然刪錯了咋辦),這里我們用獲取文件的哈希值來判斷文件是不是病毒

這里我們用os、hashlib庫

import os,hashlib

獲取哈希值代碼

def GetFileMD5(filename):
    file = open(filename, 'rb') #用二進制方式讀取文件
    file_content = file.read()
    file.close()
    file_md5 = hashlib.md5(file_content)
    return file_md5.hexdigest()   #返回文件的哈希值

啊對,就這樣,文件的哈希值就被拿到了

我們測試一下代碼,先編個病毒

就是無限循環(huán)執(zhí)行cmd

病毒庫

每個殺毒軟件都有自己的病毒庫,那我們也搞一個(就是把一些病毒哈希值整理成一個列表)

Virus_Reservoirs=[
                 '40d8911754a4d6cd8d4c732f96eb3016',#無限cmd彈窗
                 '0d686bf04da1a4d11ea197375b99a48b',#無限cmd彈窗
                 'eda588c0ee78b585f645aa42eff1e57a',#中華黑豹升級版
                 '0a456ffff1d3fd522457c187ebcf41e4',#蠕蟲
                 '1aa4c64363b68622c9426ce96c4186f2',#BIOS、MBR病毒
                 'd214c717a357fe3a455610b197c390aa',#Virus.Win32.disttrackA類型病毒
                 'b14299fd4d1cbfb4cc7486d978398214',#Virus.Win32.disttrackA類型病毒
                 'dffe6e34209cb19ebe720c457a06edd6',#無盡黑洞木馬病毒
                 '512301c535c88255c9a252fdf70b7a03',#熊貓燒香
                 'd4a05ada747a970bff6e8c2c59c9b5cd',#WormOrg.Viking.A -->蠕蟲
                 'ad41ec81ab55c17397d3d6039752b0fd',#WormOrg.Win32.Fujack.A  -->蠕蟲
                 'a57db79f11a8c58d27f706bc1fe94e25',#Virus.Win32.Viking.A類型病毒
                 'fc14eaf932b76c51ebf490105ba843eb',#沖擊波
                 '2a92da4b5a353ca41de980a49b329e7d',#蠕蟲
                 '68abd642c33f3d62b7f0f92e20b266aa',#蠕蟲
                 'ff5e1f27193ce51eec318714ef038bef',#蠕蟲
                 '4c36884f0644946344fa847756f4a04e',#磁碟機
                 '2391109c40ccb0f982b86af86cfbc900',#AV終結者——>Pabug
                 '84c82835a5d21bbcf75a61706d8ab549',#WannaCry永恒之藍
                 'db349b97c37d22f5ea1d1841e3c89eb4',#WannaCry永恒之藍
                 '1de73f49db23cf5cc6e06f47767f7fda',#WannaRen
                 'af2379cc4d607a45ac44d62135fb7015',#Petya
                 '71b6a493388e7d0b40c83ce903bc6b04',#Petya組件
                 'e81139675ac1b806d689fb17789e2f99',#斯大林病毒
                 '915178156c8caa25b548484c97dd19c1',#可刪除文件的蠕蟲
                 'dac5f1e894b500e6e467ae5d43b7ae3e',#可刪除文件的蠕蟲
                 '849da18699ea2332494e431c66be0ca6',#WindowsCrazyError
                 '56975ae355acb292220921ad61c58f2a',#MBR破壞
                 '44d88612fea8a8f36de82e1278abb02f',#引擎測試程序
                 '297de74cb20a975efaf20cd88fddf270',#鬼影木馬
                 'c729d940eb78e927afcba4046543d8f8',#可讓系統(tǒng)藍屏的病毒
                 '8c71f2a4b3079332d4f8078eddb9974a',#小豬佩奇病毒
                 '19dbec50735b5f2a72d4199c4e184960',#MEMZ彩虹貓
                 '815b63b8bc28ae052029f8cbdd7098ce',#滑稽病毒
                 'c71091507f731c203b6c93bc91adedb6',#盧本偉病毒
                 "8c689f65508e1353fb3df35df87ba5c7",#'假藍屏'病毒
                 ]

有點少。。。。。

大家發(fā)現(xiàn)一些病毒可以把他的哈希值發(fā)給我哈

編寫殺毒界面

代碼太多了,不容易講,直接上代碼了。界面用了滾動滑桿,用的是tkinter庫

import tkinter as tk
from tkinter.ttk import *
import tkinter.filedialog as filedialog
filles=filedialog.askopenfilenames(title='選擇文件',filetypes=[("All Files","*.*")]) #選擇文件
viruses=[]
try:
    for i in filles:
        fileMD5=getFileMD5(i)
        print(i+"文件哈希值:"+fileMD5)
        if fileMD5 in Virus_Reservoirs:
            viruses. Append(i)
    show_viruses_win=tk.Tk()
    if len(viruses) == 0:
        show_viruses_win.withdraw()
        messagebox.showinfo("查殺結果","此次查殺未發(fā)現(xiàn)風險項")
        show_viruses_win.destroy()
    else:
        kills=[]
        fail_kills=[]
        def getlujing(event):
            str=""
            index1=viruss.curselection()
            for item in index1:
                str+=viruss.get(item)+"、"
                kills.append(viruss.get(item))    #選擇要清理的病毒
            llabel.config(text="你選擇了"+str)
        def killthem():
            for i in kills:
                kills.remove(i)
                try:
                    os.unlink(i)
                except:
                    fail_kills.append(i)
            show_viruses_win.destroy()
            jieguo_win=tk.Tk()
            jieguo_win.withdraw()
            if len(fail_kills) == 0:
                messagebox.showinfo("yeah","全部清除成功!")
            else:
                messagebox.showinfo("error",f"{fail_kills}清除失敗,請手動清除!")
            jieguo_win.destroy()
        show_viruses_win.geometry("480x480") #界面
        show_viruses_win.title("請選擇您想清理的病毒")
        show_viruses_win.configure(bg="#F5D7C4")
        llabel=tk.Label(show_viruses_win,height=5,wraplength=190,justify="left",bg="#F1DAA1",relief="groove")
        llabel.pack(side="top",fill="x",padx="10",pady="10")
        sc1=tk.Scrollbar(show_viruses_win)
        viruss=tk.Listbox(show_viruses_win,height=20,yscrollcommand=sc1.set,selectmode="multiple",justify='center',width=30)
        for i in viruses:
            viruss.insert(tk.END,i)
        viruss.pack(side='left',fill='x')
        viruss.bind("<<ListboxSelect>>",getlujing)
        sc1.pack(side="left",fill="y")
        sc1.config(command=viruss.yview)
        tk.Button(show_viruses_win,text="選擇完畢,開始殺毒!",relief='groove',fg='white',bg='blue',cursor='hand2',command=killthem).pack()
        show_viruses_win.mainloop()
except:
    show_error_win=tk.Tk()
    show_error_win.withdraw()
    messagebox.showerror("error","無法查殺病毒或初始化殺毒引擎,請重試")
    show_error_win.destroy()

測試代碼

先把代碼匯總一下

總代碼

import os,hashlib
import tkinter as tk
import tkinter.messagebox as messagebox
from tkinter.ttk import *
import tkinter.filedialog as filedialog
def GetFileMD5(filename):
    file = open(filename, 'rb') #用二進制方式讀取文件
    file_content = file.read()
    file.close()
    file_md5 = hashlib.md5(file_content)
    return file_md5.hexdigest()   #返回文件的哈希值
Virus_Reservoirs=[
                 '40d8911754a4d6cd8d4c732f96eb3016',#無限cmd彈窗
                 '0d686bf04da1a4d11ea197375b99a48b',#無限cmd彈窗
                 'eda588c0ee78b585f645aa42eff1e57a',#中華黑豹升級版
                 '0a456ffff1d3fd522457c187ebcf41e4',#蠕蟲
                 '1aa4c64363b68622c9426ce96c4186f2',#BIOS、MBR病毒
                 'd214c717a357fe3a455610b197c390aa',#Virus.Win32.disttrackA類型病毒
                 'b14299fd4d1cbfb4cc7486d978398214',#Virus.Win32.disttrackA類型病毒
                 'dffe6e34209cb19ebe720c457a06edd6',#無盡黑洞木馬病毒
                 '512301c535c88255c9a252fdf70b7a03',#熊貓燒香
                 'd4a05ada747a970bff6e8c2c59c9b5cd',#WormOrg.Viking.A -->蠕蟲
                 'ad41ec81ab55c17397d3d6039752b0fd',#WormOrg.Win32.Fujack.A  -->蠕蟲
                 'a57db79f11a8c58d27f706bc1fe94e25',#Virus.Win32.Viking.A類型病毒
                 'fc14eaf932b76c51ebf490105ba843eb',#沖擊波
                 '2a92da4b5a353ca41de980a49b329e7d',#蠕蟲
                 '68abd642c33f3d62b7f0f92e20b266aa',#蠕蟲
                 'ff5e1f27193ce51eec318714ef038bef',#蠕蟲
                 '4c36884f0644946344fa847756f4a04e',#磁碟機
                 '2391109c40ccb0f982b86af86cfbc900',#AV終結者——>Pabug
                 '84c82835a5d21bbcf75a61706d8ab549',#WannaCry永恒之藍
                 'db349b97c37d22f5ea1d1841e3c89eb4',#WannaCry永恒之藍
                 '1de73f49db23cf5cc6e06f47767f7fda',#WannaRen
                 'af2379cc4d607a45ac44d62135fb7015',#Petya
                 '71b6a493388e7d0b40c83ce903bc6b04',#Petya組件
                 'e81139675ac1b806d689fb17789e2f99',#斯大林病毒
                 '915178156c8caa25b548484c97dd19c1',#可刪除文件的蠕蟲
                 'dac5f1e894b500e6e467ae5d43b7ae3e',#可刪除文件的蠕蟲
                 '849da18699ea2332494e431c66be0ca6',#WindowsCrazyError
                 '56975ae355acb292220921ad61c58f2a',#MBR破壞
                 '44d88612fea8a8f36de82e1278abb02f',#引擎測試程序
                 '297de74cb20a975efaf20cd88fddf270',#鬼影木馬
                 'c729d940eb78e927afcba4046543d8f8',#可讓系統(tǒng)藍屏的病毒
                 '8c71f2a4b3079332d4f8078eddb9974a',#小豬佩奇病毒
                 '19dbec50735b5f2a72d4199c4e184960',#MEMZ彩虹貓
                 '815b63b8bc28ae052029f8cbdd7098ce',#滑稽病毒
                 'c71091507f731c203b6c93bc91adedb6',#盧本偉病毒
                 "8c689f65508e1353fb3df35df87ba5c7",#'假藍屏'病毒
                 ]
filles=filedialog.askopenfilenames(title='選擇文件',filetypes=[("All Files","*.*")]) #選擇文件
print(filles)
viruses=[]
try:
    for i in filles:
        fileMD5=GetFileMD5(i)
        print(i+"文件哈希值:"+fileMD5)
        if fileMD5 in Virus_Reservoirs:
            viruses.append(i)
    show_viruses_win=tk.Tk()
    if len(viruses) == 0:
        show_viruses_win.withdraw()
        messagebox.showinfo("查殺結果","此次查殺未發(fā)現(xiàn)風險項")
        show_viruses_win.destroy()
    else:
        kills=[]
        fail_kills=[]
        def getlujing(event):
            str=""
            index1=viruss.curselection()
            for item in index1:
                str+=viruss.get(item)+"、"
                kills.append(viruss.get(item))    #選擇要清理的病毒
            llabel.config(text="你選擇了"+str)
        def killthem():
            for i in kills:
                kills.remove(i)
                try:
                    os.unlink(i)
                except:
                    fail_kills.append(i)
            show_viruses_win.destroy()
            jieguo_win=tk.Tk()
            jieguo_win.withdraw()
            if len(fail_kills) == 0:
                messagebox.showinfo("yeah","全部清除成功!")
            else:
                messagebox.showinfo("error",f"{fail_kills}清除失敗,請手動清除!")
            jieguo_win.destroy()
        show_viruses_win.geometry("480x480") #界面
        show_viruses_win.title("請選擇您想清理的病毒")
        show_viruses_win.configure(bg="#F5D7C4")
        llabel=tk.Label(show_viruses_win,height=5,wraplength=190,justify="left",bg="#F1DAA1",relief="groove")
        llabel.pack(side="top",fill="x",padx="10",pady="10")
        sc1=tk.Scrollbar(show_viruses_win)
        viruss=tk.Listbox(show_viruses_win,height=20,yscrollcommand=sc1.set,selectmode="multiple",justify='center',width=30)
        for i in viruses:
            viruss.insert(tk.END,i)
        viruss.pack(side='left',fill='x')
        viruss.bind("<<ListboxSelect>>",getlujing)
        sc1.pack(side="left",fill="y")
        sc1.config(command=viruss.yview)
        tk.Button(show_viruses_win,text="選擇完畢,開始殺毒!",relief='groove',fg='white',bg='blue',cursor='hand2',command=killthem).pack()
        show_viruses_win.mainloop()
except:
    show_error_win=tk.Tk()
    show_error_win.withdraw()
    messagebox.showerror("error","無法查殺病毒或初始化殺毒引擎,請重試")
    show_error_win.destroy()

運行

運行成功

以上就是使用Python制作一個惡意軟件刪除工具的詳細內(nèi)容,更多關于Python惡意軟件刪除工具的資料請關注腳本之家其它相關文章!

相關文章

  • Python數(shù)據(jù)可視化之Pyecharts使用詳解

    Python數(shù)據(jù)可視化之Pyecharts使用詳解

    Pyecharts是一個由百度開源的、用于生成Echarts圖表的類庫,可以用來進行數(shù)據(jù)可視化分析。本文將詳細講解一下Pyecharts的使用,需要的可以參考一下
    2022-04-04
  • Python基于paramunittest模塊實現(xiàn)excl參數(shù)化

    Python基于paramunittest模塊實現(xiàn)excl參數(shù)化

    這篇文章主要介紹了Python基于paramunittest模塊實現(xiàn)excl參數(shù)化,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • 解決python -m pip install --upgrade pip 升級不成功問題

    解決python -m pip install --upgrade pip 升級不成功問題

    這篇文章主要介紹了python -m pip install --upgrade pip 解決升級不成功問題,需要的朋友可以參考下
    2020-03-03
  • Python實現(xiàn)的文軒網(wǎng)爬蟲完整示例

    Python實現(xiàn)的文軒網(wǎng)爬蟲完整示例

    這篇文章主要介紹了Python實現(xiàn)的文軒網(wǎng)爬蟲,結合完整實例形式分析了Python爬蟲爬取文軒網(wǎng)圖書信息的相關操作技巧,需要的朋友可以參考下
    2019-05-05
  • 使用Python進行數(shù)據(jù)備份的指南大全

    使用Python進行數(shù)據(jù)備份的指南大全

    利用Python進行數(shù)據(jù)備份與恢復是一種常見的做法,對于數(shù)據(jù)庫,你可以使用Python中的數(shù)據(jù)庫連接庫(如sqlite3、SQLAlchemy等)連接到數(shù)據(jù)庫,然后執(zhí)行備份操作,將數(shù)據(jù)庫的內(nèi)容保存到一個備份文件中,本文給大家介紹了使用Python進行數(shù)據(jù)備份的指南大全,需要的朋友可以參考下
    2024-05-05
  • Pandas數(shù)據(jù)分析固定時間點和時間差

    Pandas數(shù)據(jù)分析固定時間點和時間差

    這篇文章主要介紹了Pandas數(shù)據(jù)分析固定時間點和時間差,文章未日澳主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下
    2022-08-08
  • Python 如何解決稀疏矩陣運算

    Python 如何解決稀疏矩陣運算

    這篇文章主要介紹了Python 解決稀疏矩陣運算的操作,具有很好的參考價值,希望對大家有所幫助。
    2021-05-05
  • 淺談Python爬蟲基本套路

    淺談Python爬蟲基本套路

    這篇文章主要介紹了Python爬蟲基本套路,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-03-03
  • Python實現(xiàn)的文本對比報告生成工具示例

    Python實現(xiàn)的文本對比報告生成工具示例

    這篇文章主要介紹了Python實現(xiàn)的文本對比報告生成工具,涉及Python基于difflib模塊實現(xiàn)對文本內(nèi)容進行對比的相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • Python桌面應用開發(fā)實戰(zhàn)之PyQt的安裝使用

    Python桌面應用開發(fā)實戰(zhàn)之PyQt的安裝使用

    這篇文章主要給大家介紹了關于Python桌面應用開發(fā)實戰(zhàn)之PyQt的安裝使用,PyQt是一個功能強大的Python庫,用于創(chuàng)建圖形用戶界面(GUI)應用程序,需要的朋友可以參考下
    2023-08-08

最新評論

墨脱县| 海门市| 滦南县| 庄浪县| 融水| 寻乌县| 金乡县| 石景山区| 河源市| 耿马| 永顺县| 乌拉特前旗| 平乡县| 顺义区| 台安县| 临泽县| 呼和浩特市| 宁波市| 大悟县| 钟祥市| 许昌市| 黄冈市| 浑源县| 江北区| 乐昌市| 蒙城县| 晋城| 浪卡子县| 大冶市| 磐石市| 富顺县| 兴隆县| 石狮市| 黄平县| 静海县| 峨山| 望江县| 调兵山市| 郯城县| 大英县| 海原县|