再见360,3分钟用Python撸一个杀毒软件

举报
Python小二 发表于 2022/02/12 00:52:28 2022/02/12
【摘要】 来源:blog.csdn.net/slw213106 事情要从一次重保行动说起,由于活动还没结束,这里就先不透漏了。我抱着亲手做的康师傅红烧牛肉泡面,还没开始吃,就听见后面有人喊我名字,说是有个用户的电脑卡死了,要我过去看看。 我问她能不能等我吃完这桶泡面再去,我已经3个小时没有吃过饭了,现在饿得没有力气走到用户那里。 她说...

来源:blog.csdn.net/slw213106

事情要从一次重保行动说起,由于活动还没结束,这里就先不透漏了。我抱着亲手做的康师傅红烧牛肉泡面,还没开始吃,就听见后面有人喊我名字,说是有个用户的电脑卡死了,要我过去看看。

我问她能不能等我吃完这桶泡面再去,我已经3个小时没有吃过饭了,现在饿得没有力气走到用户那里。

她说那是主任的电脑,你自己看着办吧。

我向来不畏惧权贵,但九年义务教育告诉我,别人有困难的时候一定要去帮一把……

我到现场一看,电脑上就只有一个空空的桌面,连个鼠标都找不到,看来是电脑太卡了,软件图标都卡没了。

我问用户之前有没有做过什么奇怪的事情

他说没有,电脑一开机就是这个样子

我好像明白了什么,拔掉电源重启,电脑开机以后,果然跟我想的一样,360、电脑管家、金山毒霸这三兄弟整齐地站在右下角,桌面上满满当当的全家桶,这不卡才怪呢。刚好电脑上没有什么重要文件,懒得一个一个删了,招呼来联想的同志给他重新做个系统。

回去的路上我跟联想的同志吐槽:“这群流氓软件真是不讲武德,就知道欺负这种电脑小白。”

联想的同志白了我一眼:“看把你能的,有本事自己写一个”

我向来不喜欢斤斤计较,写杀毒软件只是出于爱好。

首先,杀毒这个动作,本质上就是删除病毒文件,这还不简单,os模块就能干


   
  1. import os
  2. os.remove(r'E://python/病毒.txt')

病毒软件肯定不是只有一种,因此我们需要准备一个病毒库,把文件扔到病毒库里匹配,匹配上了就把病毒文件删除


   
  1. import os
  2. 病毒库 = ['病毒.txt']
  3. path = r'E://python/病毒.txt'
  4. if path in 病毒库:
  5.     os.remove(path)
  6.     print('已经删除病毒文件', file)

当然,病毒查杀肯定不能只查一个文件,需要查询所有的文件,而目录下所有的文件,可以写个函数,递归查询


   
  1. def getAllFile(path):
  2.     # 获取目录中的所有文件并遍历
  3.     files = os.listdir(path)
  4.     for file in files:
  5.         # 拼接路径,如果是目录则递归获取所有文件
  6.         new_path = path + r'/' + file
  7.         if os.path.isdir(new_path):
  8.             getAllFile(new_path)

既然是自己写的杀毒软件,那查杀什么地方当然要自己说了算,毕竟做网安这一行,很多工具本身就是病毒。写个input,自定义查杀目录


   
  1. path = input('请输入需要查杀的目录:')
  2. getAllFile(path)

完整代码如下:


   
  1. import os
  2. 病毒库 = ['病毒.txt']
  3. def getAllFile(path):
  4.     # 获取目录中的所有文件并遍历
  5.     files = os.listdir(path)
  6.     for file in files:
  7.         # 拼接路径,如果是目录则递归获取所有文件
  8.         new_path = path + r'/' + file
  9.         if os.path.isdir(new_path):
  10.             getAllFile(new_path)
  11.         else:
  12.             # 如果是文件则查询病毒库,匹配成功则删除
  13.             if file in 病毒库:
  14.                 os.remove(new_path)
  15.                 print('已经删除病毒文件', file)
  16. path = input('请输入需要查杀的目录:')
  17. getAllFile(path)

先自己写一个病毒

adf2fc0f841c4a62ed890cabac031963.png

运行程序,输入需要查杀的目录

2a0e8e7878a1535ac342f5f037da65c1.png

好了,病毒已经被杀掉了

7bca27afdc2a2c12ef4daae72a4cda0d.png

小小病毒,可笑可笑。

正当我伸着懒腰想着怎么加大查杀力度时,感觉手好像碰到了一个硬邦邦的东西,我突然意识到不对劲……

原来是我两个小时前泡的那碗泡面,坨了!

如果本文对你有帮助的话,欢迎点赞&在看&分享,这对我继续分享&创作优质文章非常重要。感谢

往期回顾:

文章来源: ityard.blog.csdn.net,作者:Python小二,版权归原作者所有,如需转载,请联系作者。

原文链接:ityard.blog.csdn.net/article/details/122872240

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。