[IMG]http://i.imgur.com/kNBI0kC.png[/IMG]
Differences from the last version:
Whitelists!
Hook check!
Detour checks!
DIY plugins!
Features:
[code]
Anti-NoSpread (SeedTrick)
Anti-CVar Forcer
Anti-CheatGlobals
Anti-CheatCVars
Anti-CheatHooks
Anti-Detours
Anti-CheatEngine
Anti-AntiAim
FileStealer
[/code]
Installation:
[code]
1. First, make sure you are admin or superadmin.
2. Download CAH2, rename CAH2-master to CAH2, put it in the server's garrysmod/addons folder
3. Set sv_allowcslua to 1, then type this into the console:
4. lua_run_cl for k,v in pairs(hook.GetTable()["Think"]) do print(tostring(k)) end
5. Open up cl_cah.lua
6. Find CAH_THooks, add everything you saw in console to that table.
Example:
local CAH_THooks = {
"stuff",
"in",
"console",
}
7. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with hook.GetTable()["CreateMove"], add the hooks you see to CAH_CMHooks
8. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with hook.GetTable()["HUDPaint"], add the hooks you see to CAH_HPHooks
9. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with concommand.GetTable(), add the concommands you see to CAH_W_CMD
10. You're done, congratulations! Make SURE you did steps 7 and 8! If you didn't, everyone will be banned 15 seconds after joining!
[/code]
Media:
[img]http://i.imgur.com/PtJJzqt.jpg[/img]
[img]http://i.imgur.com/37M3xJA.jpg[/img]
Downloads:
[url="github.com/cdriza/CAH2"]GitHub - Main[/url]
[url="github.com/cdriza/CAH2-COMPAT"]GitHub - Compatibility Version (DarkRP, Pointshop, Pointshop 2, etc.)[/url]
This should not be used with DarkRP as it may ban innocent people.
If you find a bug, a way to bypass this, feature requests, or just want to comment, just say it!
All this again? :suicide:
[QUOTE=RediL;47726360]All this again?[/QUOTE]
It's redone, check it out.
What makes your anti-cheat better then say LAC or CAC?
[QUOTE=SuperiorGamer;47726423]What makes your anti-cheat better then say LAC or CAC?[/QUOTE]
Well in his defence, It doesn't need to be better as it's free.
Not everyone are willing to pay $10 for LAC or $30 for CAC
[url]https://github.com/cdriza/CAH2/blob/master/lua/cl_cah.lua#L125[/url]
now detecting all of the darkrp servers and sandbox servers, which trust their clients.
[QUOTE=RediL;47726499]Well in his defence, It doesn't need to be better as it's free.
Not everyone are willing to pay $10 for LAC or $30 for CAC[/QUOTE]
LAC is $7 and CAC is $14.
You should network the server's values for the convars clientside and just check if they're mismatched instead of assuming a value
QAC
[lua]function qac.scan_func()
local s = {}
for i = 0, 1/0, 1 do
local dbg = qac.debug.getinfo(i)
if (dbg) then
s[dbg.short_src] = true
else
break
end
end
for src, _ in qac.pairs(s) do
if table.HasValue(qac.sources, src) then
return
elseif (!(qac.scans[src])) then
qac.scans[src] = true
local crc = qac.util.CRC(qac.file.Read(src, "game") or "0") // Currently doesnt work. Send for debug
qac.validate_src(src, crc)
end
end
end
[/lua]
CAH2
[lua]local function CAH_CheckSRCS()
local srcs = {}
for i = 0, 1/0, 1 do
local src = debug.getinfo(i)
if src then
srcs[src.short_src] = true
else
break
end
end
for src,_ in pairs(srcs) do
if src == "[C]" or src == "LuaCmd" then
return
elseif !CAH_SRC[src] then
CAH_SRC[src] = "checked"
net.Start("CAH_CheckSRC")
net.WriteString(src)
net.SendToServer()
end
end
end
[/lua]
Seems like you just copied QAC, then threw in some extra ConVar checking.
What is up with the creators of every single anti-cheat always copying code from other anticheats?
[QUOTE=TheDivinity;47726615] -snip-
Seems like you just copied QAC, then threw in some extra ConVar checking.[/QUOTE]
1. that's not pasted from qac
2. this has a bit more than just cvar checking
3. i love you
[QUOTE=code_gs;47726608]You should network the server's values for the convars clientside and just check if they're mismatched instead of assuming a value[/QUOTE]
I'll do this in 2.1, thanks for the recommendation!
[editline]May 14th, 7:19 PM[/editline]
Nobodies commented on the UniqueKey amazing things?
[editline]15th May 2015[/editline]
[QUOTE=SuperiorGamer;47726423]What makes your anti-cheat better then say LAC or CAC?[/QUOTE]
1. You can't compare it to a completely serverside anticheat
2. I never said it's better than CAC, that's paid anway.
[QUOTE=ZeConnor;47727230]1. that's not pasted from qac[/QUOTE]
Then where did you get the variable name short_src?
Please stop releasing things
[QUOTE=code_gs;47727347]Then where did you get the variable name short_src?[/QUOTE]
I didn't.
It's debug.getinfo(func/num).short_src
Try it, PrintTable(debug.getinfo(print))
It's a predefined variable in debug.getinfo
[img]http://i.imgur.com/MreqFZK.png[/img]
I guess i could use .source
[url="https://github.com/cdriza/CAH2/commit/618ae68f47a6fb56ed2cf4be5d3a4e178cd42241"]Does this make you feel better?[/url]
Those two pieces of code [b]obviously[/b] are 100% unique. Not like they both match this exact pattern.
[code]
for i = 0, 1/0, 1 do
local ... = debug.getinfo(i)
if ... then
...[X.short_src] = true
else
break
end
end
for src, _ in ...(srcs) do
if anticheat developer is too lazy to test this file name then
return
elseif !...[src]
network shit
end
end
[/code]
What the fuck is wrong with you people?
Use math.huge you barbarians.
[QUOTE=Willox;47727461]Those two pieces of code [b]obviously[/b] are 100% unique. Not like they both match this exact pattern.
[code]
for i = 0, 1/0, 1 do
local ... = debug.getinfo(i)
if ... then
...[X.short_src] = true
else
break
end
end
for src, _ in ...(srcs) do
if anticheat developer is too lazy to test this file name then
return
elseif !...[src]
network shit
end
end
[/code][/QUOTE]
+correct
I don't get it, why is everyone aganist him? His releasing it for free unlike ths other ones. Am I missing something?
[QUOTE=vrej;47729761]I don't get it, why is everyone aganist him? His releasing it for free unlike ths other ones. Am I missing something?[/QUOTE]
I don't understand how you can read the thread and see people going against him, and at the same time, not know why.
net.Receivers["CAH_Bypass"] = function() print("nope") end
net.Receivers["CAH_CheckSRC"] = function() print("nope") end
[QUOTE=vrej;47729761]I don't get it, why is everyone aganist him? His releasing it for free unlike ths other ones. Am I missing something?[/QUOTE]
[QUOTE=ZeConnor;47726323][IMG][code]
1. First, make sure you are admin or superadmin.
2. Download CAH2, rename CAH2-master to CAH2, put it in the server's garrysmod/addons folder
3. Set sv_allowcslua to 1, then type this into the console:
4. lua_run_cl for k,v in pairs(hook.GetTable()["Think"]) do print(tostring(k)) end
5. Open up cl_cah.lua
6. Find CAH_THooks, add everything you saw in console to that table.
Example:
local CAH_THooks = {
"stuff",
"in",
"console",
}
7. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with hook.GetTable()["CreateMove"], add the hooks you see to CAH_CMHooks
8. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with hook.GetTable()["HUDPaint"], add the hooks you see to CAH_HPHooks
9. Repeat steps 3-6, replace step 4 hook.GetTable()["Think"] with concommand.GetTable(), add the concommands you see to CAH_W_CMD
10. You're done, congratulations! Make SURE you did steps 7 and 8! If you didn't, everyone will be banned 15 seconds after joining!
[/code][/QUOTE]
Because this is fundamentally flawed and will ban innocent clients when any addon decides to add a temporary Think/HUDPaint/CreateMove hooks.
[url=https://github.com/FPtje/DarkRP/blob/master/gamemode/modules/chat/cl_chatlisteners.lua#L186]Like DarkRP does.[/url]
[QUOTE=FPtje;47729918]Because this is fundamentally flawed and will ban innocent clients when any addon decides to add a temporary Think/HUDPaint/CreateMove hooks.
[url=https://github.com/FPtje/DarkRP/blob/master/gamemode/modules/chat/cl_chatlisteners.lua#L186]Like DarkRP does.[/url][/QUOTE]
This isn't meant for DarkRP, not too many addons add temporary hooks.
[editline]15th May 2015[/editline]
[QUOTE=polivlas;47729904]net.Receivers["CAH_Bypass"] = function() print("nope") end
net.Receivers["CAH_CheckSRC"] = function() print("nope") end[/QUOTE]
Neither of those will do anything.
You'd have to detour net.Start, and i'm adding anti-detour for that in the next version :^)
[QUOTE=ZeConnor;47729982]This isn't meant for DarkRP, not too many addons add temporary hooks.
[editline]15th May 2015[/editline]
Neither of those will do anything.
You'd have to detour net.Start, and i'm adding anti-detour for that in the next version :^)[/QUOTE]
What about PointShop, or any other dynamic inventory system for that matter?
[QUOTE=James xX;47730174]What about PointShop, or any other dynamic inventory system for that matter?[/QUOTE]
Does PointShop use temp hooks?
I thought it used a derma menu and had a perm think hook checking if the f3 or whatever key was pressed?
[editline]May 15th, 10:13 AM[/editline]
Apparently i'm wrong.
It uses temp hooks to make your playermodel and the items and stuff spin.
[QUOTE=ZeConnor;47729982]This isn't meant for DarkRP, not too many addons add temporary hooks.[/QUOTE]
Ah, there we go, [b]THIS[/b] is why this guy gets criticised. He publishes an addon he calls an "anticheat" that is about as likely to punish cheaters as it is to punish innocent people. But not just that, when [I]confronted[/I] with the fundamental flaws of his script, he dismisses them off hand. Terrible excuses such as "[I]This isn't meant for DarkRP[/I]" and the assumption that [I]not too many[/I] scripts will trigger false positives is what you get.
This addon does more damage than it's worth, and the author refuses to take responsibility for it.
The hook lib specifically has support for temp hooks using IsValid. Not supporting them is just dumb.
Why would you release an "anti-cheat" that couldn't even be used on one of the most popular gmod gamemode's and also not include that it wont work for that specific gamemode in the OP?
[I]CAH 2.0! Now with more Copy and Paste![/I]
In all seriousness, you're a good coder, just not very abnormal or independent when it comes to it. Then again I can't say much.
There are obviously plenty of flaws that will be pointed out and instead of dismissing your criticism, embrace it, and fix them. If you need to copy code, make it your own way. With all the current criticism, you qcould literally overhaul this entire thing. Just listen and apply.
[QUOTE=StonedPenguin;47730945]The hook lib specifically has support for temp hooks using IsValid. Not supporting them is just dumb.[/QUOTE]
wat
[editline]15th May 2015[/editline]
[QUOTE=FPtje;47730840]Ah, there we go, [b]THIS[/b] is why this guy gets criticised. He publishes an addon he calls an "anticheat" that is about as likely to punish cheaters as it is to punish innocent people. But not just that, when [I]confronted[/I] with the fundamental flaws of his script, he dismisses them off hand. Terrible excuses such as "[I]This isn't meant for DarkRP[/I]" and the assumption that [I]not too many[/I] scripts will trigger false positives is what you get.
This addon does more damage than it's worth, and the author refuses to take responsibility for it.[/QUOTE]
I'm trying to find a way to dismiss temporary hooks, and it's actually not meant for DarkRP.
[QUOTE=ZeConnor;47731133]wat
[editline]15th May 2015[/editline]
I'm trying to find a way to dismiss temporary hooks, and it's actually not meant for DarkRP.[/QUOTE]
What if I wanted to cheat, and I created by hooks inside a timer?
Sorry, you need to Log In to post a reply to this thread.