Skocz do zawartości

Nowy szablon forum

mygo.pl

Stworzyliśmy dla Was nowy wygląd forum. Z pewnością znajdziesz rzeczy, które wg Ciebie mogą zostać zmienione - wspomnij o tym w specjalnym wątku.

Czytaj więcej

Jak założyć własną sieć

serwerów CS

Zastanawiasz się nad prowadzeniem własnej sieci serwerów? Przeczytaj podstawowe informacje, na które należy zwrócić uwagę, przy takim projekcie.

Czytaj więcej

Tworzymy spis sieci

dodaj swoją

Dodaj sieć do której należysz, pozwoli to na promocję i budowę ogólnopolskiej bazy sieci CS.

Czytaj więcej

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


MYGO.pl
 Udostępnij

Rekomendowane odpowiedzi

  • RSSy
[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.

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" https://steamcommunity.com/id/gamerxcz 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.
68747470733a2f2f63646e2e646973636f726461

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...
68747470733a2f2f63646e2e646973636f726461

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 - 46.3 KB)

Wyświetl pełny artykuł

Odnośnik do komentarza
Udostępnij na innych stronach

Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto

Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.

Zarejestruj nowe konto

Załóż nowe konto. To bardzo proste!

Zarejestruj się

Zaloguj się

Posiadasz już konto? Zaloguj się poniżej.

Zaloguj się
 Udostępnij

  • Ostatnio przeglądający   0 użytkowników

    • Brak zarejestrowanych użytkowników przeglądających tę stronę.
×
×
  • Dodaj nową pozycję...