Current version: 1.5
This version: 1.0/0.7 with aimbot detector, nospread detector, and antiaim detector removed
Features:
~important shit~ -- REMOVED IN THIS PUBLIC VERSION
Ping Test
CVar Forcer Detector
Bad CVar Detector
net.Start Detour Detector
Crasher
Force Scanner
Why you should choose CDAC over other public anticheats like LeyAC public, Leaked CAC, QAC, or pAntiCheat
no idea
oh
you can drag it into your server/garrysmod/garrysmod/ folder or something
Download:
[url]https://www.sendspace.com/file/1m8tmh[/url]
It's great and all you want to make an anti cheat, but I think you're wasting your time. It looks like all you've done is check for changed convars, existing convars, and hooks.
also is this a troll
util.AddNetworkString("als_ice_bucket_challenge")
Profeshinal codr
Really? als ice bucket challenge? Out of everything you could've picked.
This anti cheat uses global variables because local variables are for pussies...
keyword
"almost good anticheat"
Did you really steal hex's concommand list? There are much better ways than that.
A few things that could go better:
[1]. A better way to scan would be to have the scan function a net.Start and on the server side have the timer be random.
[2]. Make a whitelist of concommands and just report, don't ban.
A better way of checking specific hooks:
[CODE]
CLIENT
function search()
for k, v in pairs(hook.GetTable()["HUDPaint"]) do
net.Start("checksum")
net.WriteString(debug.getinfo(v).short_src)
net.SendToServer()
end
end
SERVER
net.Receive("checksum", function(len, ply)
local str = net.ReadString()
if (not file.Exists(str, "GAME")) then
logplayerfunction(ply, "Invalid or corrupt file: "..str, 1)
end
end)
[/CODE]
The log function args is player, messsage, type. The type being if you want to ban them or not. I do this just so I can manually ban them incase of any false detections
util.AddNetworkString("imnotk1tt1x")
wha
[QUOTE=shadowslayer9;47315568]Did you really steal hex's concommand list? There are much better ways than that.
A few things that could go better:
[1]. A better way to scan would be to have the scan function a net.Start and on the server side have the timer be random.
[2]. Make a whitelist of concommands and just report, don't ban.
A better way of checking specific hooks:
[CODE]
CLIENT
function search()
for k, v in pairs(hook.GetTable()["HUDPaint"]) do
net.Start("checksum")
net.WriteString(debug.getinfo(v).short_src)
net.SendToServer()
end
end
SERVER
net.Receive("checksum", function(len, ply)
local str = net.ReadString()
if (not file.Exists(str, "GAME")) then
logplayerfunction(ply, "Invalid or corrupt file: "..str, 1)
end
end)
[/CODE]
The log function args is player, messsage, type. The type being if you want to ban them or not. I do this just so I can manually ban them incase of any false detections[/QUOTE]
sorry senpai :c
[QUOTE=shadowslayer9;47315568]Did you really steal hex's concommand list? There are much better ways than that.
A few things that could go better:
[1]. A better way to scan would be to have the scan function a net.Start and on the server side have the timer be random.
[2]. Make a whitelist of concommands and just report, don't ban.
A better way of checking specific hooks:
[CODE]
CLIENT
function search()
for k, v in pairs(hook.GetTable()["HUDPaint"]) do
net.Start("checksum")
net.WriteString(debug.getinfo(v).short_src)
net.SendToServer()
end
end
SERVER
net.Receive("checksum", function(len, ply)
local str = net.ReadString()
if (not file.Exists(str, "GAME")) then
logplayerfunction(ply, "Invalid or corrupt file: "..str, 1)
end
end)
[/CODE]
The log function args is player, messsage, type. The type being if you want to ban them or not. I do this just so I can manually ban them incase of any false detections[/QUOTE]
"Did you really steal hex's concommand list? There are much better ways than that."
You're underestimating HeX, or failing to read the code you're trying to criticise.
The list isn't a concommand list, it's a convar list, because the convars aren't retrievable via e.g. a list in gmod (except if you force everyone to e.g. install cvar3 :v:).
Your suggestion is also really bad.
I feel like you got this shity method from this (bad, please don't use those methods, at least those implentations ) thread [url]http://facepunch.com/showthread.php?t=1371577&highlight[/url].
It's bypassable with literally one line too.
The idea behind that method is from QAC, so if you want a proper check like this, you may as well just take a look at how QAC does it.
[QUOTE=Leystryku;47317020]"Did you really steal hex's concommand list? There are much better ways than that."
You're underestimating HeX, or failing to read the code you're trying to criticise.
The list isn't a concommand list, it's a convar list, because the convars aren't retrievable via e.g. a list in gmod (except if you force everyone to e.g. install cvar3 :v:).
Your suggestion is also really bad.
I feel like you got this shity method from this (bad, please don't use those methods, at least those implentations ) thread [url]http://facepunch.com/showthread.php?t=1371577&highlight[/url].
It's bypassable with literally one line too.
The idea behind that method is from QAC, so if you want a proper check like this, you may as well just take a look at how QAC does it.[/QUOTE]
Thanks for stating this.
Sorry, you need to Log In to post a reply to this thread.