• [WIP] CDAC! - Almost good anticheat!
    9 replies, posted
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.