Raised This Month: $12 Target: $400
 3% 

[CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
CowGod
Senior Member
Join Date: Feb 2015
Old 03-22-2019 , 17:10   [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #1

[CS:GO] [G]amerX Anti-Cheat AKA Cow Anti-Cheat Pasta

ABOUT:
Ladies and Gentlemen grab your popcorn, because this thread is about to be LLIIIIIITTTTTTT. I expect this thread to get deleted or unapproved btw as yes it's pretty toxic <3. However I feel like regardless this type of behavior from a AM community member and community owner at that shouldn't be tolerated.

So let me start by saying I did not create this plugin and I want absolutely no credit for anything to do with this plugin. Even though most all of the detection methods are copy pasted directly from Cow Anti-Cheat. I am releasing this so no other SM/AM community members get scammed.

I was made aware that a steam user under the name "The [G]amerX" http://steamcommunity.com/profiles/76561197964477177 https://forums.alliedmods.net/member.php?u=142306 was selling an anti-cheat for CS:GO servers that was marketed as a high quality, and robust anti-cheat system. He was selling this plugin for $140. Once I contacted him I said it's very disrespectful to copy paste my detection methods and violates copy right. I then asked for him to put the GNU License back on the file and give me credit for my work, he said "I don't care what you think of me" and blocked me. Without further ado lets take a deep dive into this "Top SHELf PremiuM QuALiTy AnTi-cheAT".

QUALITY CODE:
Lets start with the first thing that caught my eye while I was looking through this masterpiece of a plugin.

EZFrags Detection Method
PHP Code:
if(IsValidClient(client) && detectEzFrags[client])
    {
        
char text[512];
        
text[0] = '\0';
        
GetCmdArgString(textsizeof(text));
        
StripQuotes(text);
        
TrimString(text);
        if(
        
StrEqual(text"Visit www.EZfrags.co.uk for the finest public & private CS:GO cheats"false) ||
        
StrEqual(text"If I was cheating, I'd use www.EZfrags.co.uk"false) ||
        
StrEqual(text"Stop being a noob! Get good with www.EZfrags.co.uk"false) ||
        
StrEqual(text"Think you could do better? Not without www.EZfrags.co.uk"false) ||
        
StrEqual(text"I'm not using www.EZfrags.co.uk, you're just bad"false))
        {
            
detectEzFrags_count[client]++;
            
FormatEx(discordsizeof(discord), "%N %s has been detected for EZfrags cheats! (Check #%i)"clientnonprime[client]?"[Non-Prime]":""detectEzFrags_count[client]);
            
SendMessageToAdmins(discord);
            
FormatEx(discordsizeof(discord), "**%N** (%s) %s has been detected for **EZfrags cheats**! (Check #%i)"clientf_authid[client], nonprime[client]?"[Non-Prime]":""detectEzFrags_count[client]);
            
SendMessageToDiscord("anticheat"discord);
            if(
detectEzFrags_count[client] > 1)
            {
                
FormatEx(discordsizeof(discord), "%N %s has been detected for EZfrags cheats! (Banned)"clientnonprime[client]?"[Non-Prime]":"");
                
SendMessageToAdmins(discord);
                
FormatEx(discordsizeof(discord), "**%N** (%s) %s has been detected for **EZfrags cheats**! (Banned)"clientf_authid[client], nonprime[client]?"[Non-Prime]":"");
                
SendMessageToDiscord("anticheat"discord);
                
SBBanPlayer(0client0"Mutli-Hack");
            }
        }
    } 
This anti-cheat is marketed as "100% detect ezfrags". With this detection method a legit player could type one of these chat messages 2 times and get permanently banned for "Mutli-Hack" (yes I know he even spells Multi-Hack wrong).

Name Stealer Detection Method
PHP Code:
public void CheckClientName(int client)
{
    
char steamid64[512];
    
GetClientAuthId(clientAuthId_SteamID64steamid64sizeof(steamid64));
    
char url[PLATFORM_MAX_PATH];
    
Format(urlsizeof(url), "http://api.steampowered.com/ISteamUser/GetPlayerSummaries/v0002/?key=6723D12183165E70AA8630ED992F01C7&steamids=%s"steamid64);
    
Handle request SteamWorks_CreateHTTPRequest(k_EHTTPMethodGETurl);
    if(
request == null) return;
    
SteamWorks_SendHTTPRequest(request);
    
float timeouttime GetEngineTime() + 5.0;
    
int responsesize 0;
    while(
GetEngineTime() < timeouttime)
    {
        
SteamWorks_GetHTTPResponseBodySize(requestresponsesize);
        if(
responsesize 0)
        {
            
OnInfoReceived(requestfalsetruek_EHTTPStatusCode200OK);
            
checking_name client;
            return;
        }
    }
    
OnInfoReceived(requesttruefalsek_EHTTPStatusCode5xxUnknown);
}
public 
int OnInfoReceived(Handle requestbool failurebool requestSuccessfulEHTTPStatusCode statusCode)
{
    if(!
failure && requestSuccessful && statusCode == k_EHTTPStatusCode200OK)
        
SteamWorks_GetHTTPResponseBodyCallback(requestAPIWebResponse);
    
delete request;
    return 
0;
}
public 
void APIWebResponse(char[] response)
{
    
KeyValues Kv = new KeyValues("response");
    
Kv.SetEscapeSequences(true);
    if(
Kv.ImportFromString(response))
    {
        if(
Kv.JumpToKey("players"))
        {
            if(
Kv.JumpToKey("0"))
            {
                
char szGameName[MAX_NAME_LENGTH]; GetClientName(checking_nameszGameNamesizeof(szGameName));
                
char szSteamName[MAX_NAME_LENGTH]; Kv.GetString("personaname"szSteamNamesizeof(szSteamName));
                if(!
StrEqual(szGameNameszSteamNametrue))
                {
                    
FormatEx(discordsizeof(discord), "%N %s has been detected for Name Stealer/Faker! [Game Name %s | Steam Name: %s]"checking_namenonprime[checking_name]?"[Non-Prime]":""szGameNameszSteamName);
                    
SendMessageToAdmins(discord);
                    
FormatEx(discordsizeof(discord), "**%N** (%s) %s has been detected for **Name Stealer/Faker**! [Game Name **%s** | Steam Name: **%s**]"checking_namef_authid[checking_name], nonprime[checking_name]?"[Non-Prime]":""szGameNameszSteamName);
                    
SendMessageToDiscord("anticheat"discord);
                    
checking_name 0;
                    
delete Kv;
                }
            }
            else 
delete Kv;
        }
        else 
delete Kv;
    }
    else 
delete Kv;
    
checking_name 0;

In case you don't want to read the spaghetti above, he is querying the SteamAPI to grab players names to check for name stealing. Only if GetClientName didn't already exist....

COPIED CODE:

[G]amerX copied every single detection method from Cow Anti-Cheat line for line. This is just an example of one of them. You can look through so source if you would like more proof.


He also stole methods line for line from SMAC. Pretty wild, probably would have been less time consuming to just write his own instead of moving everything over...


I don't really have much left to say. Except [G]amerX is the scum of the SM/AM community and I would like to see him banned. Don't buy into his scams and if anyone is contacted by him to purchase a plugin "he made", just message me and I will personally make it for free.
Attached Files
File Type: sp Get Plugin or Get Source (gx_anticheat.sp - 781 views - 46.3 KB)

Last edited by CowGod; 03-23-2019 at 03:27.
CowGod is offline
Send a message via Skype™ to CowGod
Cruze
Veteran Member
Join Date: May 2017
Old 03-23-2019 , 06:49   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #2

Well, that is why AM don't encourage the sale of turnkey.
__________________
Taking paid private requests! Contact me
Cruze is offline
DabberDoug
Member
Join Date: Feb 2016
Location: USA
Old 03-23-2019 , 18:32   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #3

Classic cow am I right
DabberDoug is offline
nguyenbaodanh
AlliedModders Donor
Join Date: Jun 2007
Location: HCMC, Vietnam
Old 03-23-2019 , 23:06   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #4

not finished? can't compile
__________________
nguyenbaodanh is offline
404UserNotFound
BANNED
Join Date: Dec 2011
Old 03-23-2019 , 23:06   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #5

I've added a note into my signature as frankly I'm tired of seeing these cockroaches stealing and reselling other people's work. If someone bychance sees it and it helps them not get rooked by these tools, then I've done my job.

Last edited by 404UserNotFound; 03-23-2019 at 23:08.
404UserNotFound is offline
CowGod
Senior Member
Join Date: Feb 2015
Old 03-24-2019 , 04:04   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #6

Quote:
Originally Posted by 404UNF View Post
I've added a note into my signature as frankly I'm tired of seeing these cockroaches stealing and reselling other people's work. If someone bychance sees it and it helps them not get rooked by these tools, then I've done my job.
Preach!
CowGod is offline
Send a message via Skype™ to CowGod
EMINEM_FB
Senior Member
Join Date: Dec 2010
Location: Czech republic
Old 04-04-2019 , 12:30   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #7

Thank you "CowGod" for your info
__________________
EMINEM_FB is offline
404UserNotFound
BANNED
Join Date: Dec 2011
Old 04-09-2019 , 17:07   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #8

Didn't even realize [G]amerX was a member of these forums until Sreaper happened to send me this link.
404UserNotFound is offline
eyal282
Veteran Member
Join Date: Aug 2011
Old 04-27-2019 , 07:09   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #9

You know that I've had a cheater test your anti cheat and conclude it's better than the 10 million dollar vac, so in a way the scam is technically true about being high quality. At least for Cac


Also I think the GetClientName is possibly capable of being manipulated by a cheater, I have no good knowledge about it but it definitely doesn't have a back end check like the AuthId check does.
__________________
I am available to make plugins for pay.

Discord: Eyal282#1334

Last edited by eyal282; 04-27-2019 at 07:10.
eyal282 is offline
shavit
AlliedModders Donor
Join Date: Dec 2011
Location: Israel
Old 04-29-2019 , 08:17   Re: [CS:GO] [G]amerX Anti-Cheat (Copy Pasta of Cow Anti-Cheat)
Reply With Quote #10

Quote:
Originally Posted by eyal282 View Post
You know that I've had a cheater test your anti cheat and conclude it's better than the 10 million dollar vac, so in a way the scam is technically true about being high quality. At least for Cac


Also I think the GetClientName is possibly capable of being manipulated by a cheater, I have no good knowledge about it but it definitely doesn't have a back end check like the AuthId check does.
It's not better than VAC by any means. VAC can see modules inside the game process, all running threads, it has integrity routines to make sure certain memory regions aren't being detoured/edited, it can also see what processes have open handles to the game. You can't compare a server sided anti-cheat to a client-sided one.

GetClientName does not need a backend check, because you cannot have one. Unless you want overhead by contacting the Steam API and asking for the user's name, and not allowing them to change it inside your server. It seems bothersome to only show name changes after re-connection anyway.
__________________
retired
shavit is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:30.


Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.
Theme made by Freecode