Code:
--[[ :-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:
Script stolen by desuGMod.
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
Filename: gamemodes/deathmatch/gamemode/client/cl_blunderbuss.lua
Timestamp: Thu Oct 30 19:46:31 2014
:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-:-: ]]--
/*
Tyler's Anti-Cheat v4
Thanks for buying this!
If you need help setting up the anti-cheat for your custom addons, add me on Steam:
https://steamcommunity.com/id/boostedgamingdotnet/
Depending on how much you need setup, I may charge a fee. IF it's just a few minutes of work
I'll probably do it for free :)
Messages to people who may read this:
Kasper (gDaap Coder): You may bypass my AC for a short time, but I have your source and I'll continue to have your source
And detect it every time you update.
So, good luck with your jank ass ginject paste
Also, I think I may leak your lua source, and your dll/beta dll, and the rest of the nice things I stole from your cheat.
HeX: You're great and I love you.
Now gtfo my lua cache files
Garry you're retarded.
*/
// DEBUG COMMANDS
concommand.Add( "gethooks", function()
if LocalPlayer():IsAdmin() then
PrintTable( hook.GetTable() )
end
end )
concommand.Add( "getcmds", function()
if LocalPlayer():IsAdmin() then
local tab = concommand.GetTable()
PrintTable( tab )
end
end )
// START OF SCRIPT
Version = "4.0.3"
local TAC = {}
TAC["Hooks"] = {
["Think"] = {
"DMSounds",
"XGUIQueueThink",
"ULibQueueThink",
"RealFrameTime",
"PS_Item_Jump Pack_Think",
"PS_Think",
"NotificationThink",
"DragNDropThink",
"DOFThink",
"Splode",
"Aza",
},
["HUDPaint"] = {
"DMHud",
"PlayerOptionDraw",
"SpawnPointsDrawing",
"DrawRecordingIcon",
"C4HOOK2",
"FlashEffect",
"DM_hitmarker",
"SMPrintSprays",
"Fo_NamePlates",
"CSayHelperDraw",
},
["RenderScreenspaceEffects"] = {
"RenderToyTown",
"RenderBloom",
"RenderTexturize",
"RenderColorModify",
"RenderMaterialOverlay",
"RenderMotionBlur",
"RenderSharpen",
"RenderSobel",
"RenderSunbeams",
"RenderBokeh",
"StunEffect",
},
["CreateMove"] = {
"RSS",
},
["RenderScene"] = {
"RenderSuperDoF",
"RenderStereoscopy",
},
["DrawOverlay"] = {
"DragNDropPaint",
"DrawNumberScratch",
"VGUIShowLayoutPaint",
},
["PreRender"] = {
"PreRenderFrameBlend",
},
["PostRender"] = {
"RenderFrameBlend",
},
["HUDDrawScoreBoard"] = {
"Draw",
},
["PreDrawHalos"] = {
"PropertiesHover",
},
["PostDrawEffects"] = {
"RenderWidgets",
"RenderHalos",
},
["PostPlayerDraw"] = {
"PS_Item_Text Hat_PostPlayerDraw",
"PS_PostPlayerDraw",
"Aza",
},
}
TAC.ConCommands = {
["+menu"] = true,
["-menu"] = true,
["lua_find_cl"] = true,
["-menu_context"] = true,
["pp_superdof"] = true,
["+menu_context"] = true,
["tac"] = true,
["lua_cookieclear"] = true,
["derma_controls"] = true,
["gm_demo"] = true,
["lua_cookiespew"] = true,
["ulx"] = true,
["thirdperson_toggle"] = true,
["menu_disc"] = true,
["spraymon"] = true,
["xgui"] = true,
["menu_sounds"] = true,
["dm_removepoint"] = true,
["dm_addpoint"] = true,
["dm_listpoints"] = true,
["dm_listpointsdetail"] = true,
["dm_drawpoints"] = true,
["dm_clearspawnpoints"] = true,
["gethooks"] = true, // DEBUG CMD
["getcmds"] = true, // DEBUG CMD
}
TAC["Copy"] = {
["timer"] = timer,
["table"] = table,
["math"] = math,
//["net"] = net, -- ya lil bugger u fuk me
["hook"] = hook,
["debug"] = debug,
["string"] = string,
["file"] = file,
["chat"] = chat,
["concommand"] = concommand,
["G"] = table.Copy( _G ),
["R"] = debug.getregistry(),
-- proper ( i guess? )
["net.Start"] = net.Start,
["net.WriteString"] = net.WriteString,
["net.SendToServer"] = net.SendToServer,
["hook.GetTable"] = hook.GetTable,
["concommand.GetTable"] = concommand.GetTable,
["GetConVarNumber"] = GetConVarNumber,
["ConVarExists"] = ConVarExists,
}
// Only blacklist this AC will use!
TAC["Globals"] = {
["hake"] = true,
["NHTable"] = true,
["DoFuel"] = true,
}
TAC["netName"] = "dm_killstreak"
MsgN( "//////////////////////////////////////////////////" )
MsgN( "// //" ) -- Spacer
MsgN( "// Tyler's Anti-Cheat v4 //" )
MsgN( "// //" ) -- Spacer
MsgN( "// Credits: //" )
MsgN( "// Mythik: Ideas/Testing //" )
MsgN( "// //" ) -- Spacer
MsgN( "// HeX: //" )
MsgN( "// Idea to make this entire server, //" )
MsgN( "// Giving me tons of help, ideas, and //" )
MsgN( "// inspiration //" )
MsgN( "// R.I.P -=[UH]=- DM and HAC //" )
MsgN( "// //" ) -- Spacer
MsgN( "// Sykranos/fr1kin/dicks johnson: //" )
MsgN( "// Attempting to teach me Lua in the start //" )
MsgN( "// Then ddosing me in the end //" )
MsgN( "// //" ) -- Spacer
function TAC.RandomString( val )
local len = TAC["Copy"]["math"]["random"]( 10, 20 )
local ret = ""
for i = 1 , len do
ret = ret .. TAC["Copy"]["string"]["char"]( TAC["Copy"]["math"]["random"]( 97, 122 ) )
end
return ret
end
function TAC.Detect( what )
TAC["Copy"]["net.Start"]( TAC["netName"] )
TAC["Copy"]["net.WriteString"]( what )
TAC["Copy"]["net.SendToServer"]()
end
function TAC.CheckClient()
// alert the server a scan is being made
TAC["Copy"]["net.Start"]( "dm_vars" ) -- so hidden its amazing
TAC["Copy"]["net.WriteString"]( "gotit" )
TAC["Copy"]["net.SendToServer"]()
/*
Hook Detections
*/
if TAC["Copy"]["hook"]["GetTable"]()["Think"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["Think"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["Think"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["HUDPaint"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["HUDPaint"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["HUDPaint"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["CreateMove"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["CreateMove"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["CreateMove"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["RenderScreenspaceEffects"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["RenderScreenspaceEffects"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["RenderScreenspaceEffects"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["PostRender"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["PostRender"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["PostRender"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["RenderScene"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["RenderScene"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["RenderScene"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["DrawOverlay"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["DrawOverlay"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["DrawOverlay"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["PreRender"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["PreRender"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["PreRender"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["HUDDrawScoreBoard"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["HUDDrawScoreBoard"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["HUDDrawScoreBoard"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["PreDrawHalos"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["PreDrawHalos"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["PreDrawHalos"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["PostDrawEffects"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["PostDrawEffects"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["PostDrawEffects"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["hook"]["GetTable"]()["PostPlayerDraw"] then
for k, v in pairs( TAC["Copy"]["hook"]["GetTable"]()["PostPlayerDraw"] ) do
if !TAC["Copy"]["table"]["HasValue"]( TAC["Hooks"]["PostPlayerDraw"], k ) then
TAC["Detect"]( "hook: " .. k )
end
end
end
if TAC["Copy"]["table"]["Count"]( TAC["Copy"]["hook"]["GetTable"]() ) < 20 then
TAC["Detect"]( "Hook table was empty" )
end
if TAC["Copy"]["hook"]["GetTable"]() == nil then
TAC["Detect"]( "Hook table was empty" )
end
/*
Concommand checking
*/
for k, v in pairs( TAC.Copy["concommand.GetTable"]() ) do
if !TAC.ConCommands[k] then
TAC.Detect( "ConCommand: " .. k )
end
end
/*
ConVar force checking
*/
if !TAC["Copy"]["ConVarExists"]( "sv_cheats" ) then
TAC["Detect"]( "ConVar Violation: sv_cheats" )
end
if TAC["Copy"]["GetConVarNumber"]( "sv_cheats" ) > 0 then
TAC["Detect"]( "ConVar Violation: sv_cheats" )
end
if !TAC["Copy"]["ConVarExists"]( "host_timescale" ) then
TAC["Detect"]( "ConVar Violation: host_timescale" )
end
if TAC["Copy"]["GetConVarNumber"]( "host_timescale" ) > 1 then
TAC["Detect"]( "ConVar Violation: host_timescale" )
end
// This may or may not work :D
if _G["GDAAP_CLIENT_INTERFACE"] then
TAC["Detect"]( "gDaap client interface" )
end
for k, v in pairs( TAC.Copy.G ) do
if TAC.Globals[k] then
TAC.Detect( "Global: " .. k )
end
end
end
// Detect gdaap
TAC.Copy.R["GetBank"] = function() TAC["Detect"]( "gDaap" ) end
// DETOURS OF SKIDNESS
function debug.getupvalue( func, val )
TAC.Detect( "bypass attempt (debug.getupvalue)" )
end
TAC.Copy.timer.Simple( 30, function()
TAC.CheckClient()
end )
// Check the client randomly between 1 and 2 minutes.
TAC["Copy"]["timer"]["Create"]( TAC["RandomString"]( 32 ), TAC["Copy"]["math"]["random"]( 60, 120 ), 0, function()
TAC.CheckClient()
end )
// Yes, it's fucking global, you can nil this if you want but that won't do shit.
function doCheck() TAC.CheckClient() end
// For dev purposes
concommand.Add( "tac", function() TAC.CheckClient() end )
MsgN( "//////////////////////////////////////////////////" )
MsgC( Color( 0, 100, 255 ), "[TAC] " )
MsgC( Color( 255, 255, 255 ), "Loaded !\n" )
Another pile of trash.