Un anti-cheat fonctionnant à 100%

Discussion dans 'Action, Shooters' créé par neku, 30 Août 2006.

Statut de la discussion:
Fermée.
  1. Offline
    neku Codeur roumain
    Voila quelques jours que je travaille sur un anti-cheat.
    Ayant remarqué que lorsque l'on éffectue un hook, un deuxieme ne peut etre lancé sous peine de voir Counter-strike planté immédiatement :D
    Alors je me suis dis pourquoi pas essayer de profiter de se conflit pour faire un anti-cheat ;)
    Le principe serais simple une executable accompagné d'une dll comme un cheat ou même irc-cs que l'on devrais lancer avant Cs.
    Celui-ci une fois en partie profiterais d'une même technique que HACK_USER connais avec rcon user pour savoir qui à l'anti-cheat et à l'aide d'une commande dans la console on pourrais ainsi lister la liste des joueurs l'utilisant.
    Imaginez maintenant de forcer chaque joueur de votre tournoi par exemple à l'utiliser, personne ne pourrais donc cheater et celui refusant de l'utiliser ne serais protéger contre des soupçons de cheat.

    Vous allez me dire oui mais forcer les gens à télécharger un logiciel .. bububu :/
    Je me souviens qu'on le fesait bien avec Cheating-Death qui était une vrai passoir.
    A savoir que VAC2 avec puisqu'il ne fait que rechercher une CRC et/ou une signature donc totalement inutile ... sauf avec les cheats connus.

    Maintenant si ce projet vous interesse vous pouvez me laisser vos idées.
    Normalement je devrais sortir une premiere version stable la semaine prochaine en même temps que la sortie de IRC-Cs.
    Vu que IRC-Cs éffectue déjà un hook vous ne pourrez pas le lancer ou lancer un autre cheat mais pour rester compatible avec l'anti-cheat, un plugins pour irc-cs sera fait.

    Je rappel bien que l'anti-cheat malgré étant un hook ne contiendra aucune fonction favorisant l'utilisateur et ne changera en rien la jouabilité, ni le ping et encore moin les fps ;)

    Il me faudrais aussi une idée de nom :D

    Maintenant si certain d'entre vous savent développer des plugins AMX on pourrais même imagine d'interdir l'acces au serveur à toute personne ne l'utilisant pas.
    Je me suis pas encore pencher sur la programmation de plugins AMX.
    Il serait aussi totalement possible de faire se script sous forme d'excutable à connecter par rcon au serveur un peu comme HLSW ou en php.
    Qui vérifirai chaque personne lors de sa connexion et la kickerais si elle n'utilise pas le logiciel, j'èspere que ce projet vous intéresse si oui proposer moi ce qu'il vous semble le mieux.

    Je pense donc développer l'anti-cheat et un script rcon en c++ qui effectuerais les vérification.
    neku, 30 Août 2006
    #1
  2. Offline
    Friz Touriste
    je trouve ca interressant maintenant il faut encore que tout marche et que celui-ci ce repende pour reduire au maximum les cheats cependant il faut aussi savoir qu'il y a d'autre petit malin qui verront ca et trouveront un autre moyen pour contré ce programme.

    Je te souhaite quand meme bonne chance et une bonne continuation
    Friz, 30 Août 2006
    #2
  3. Offline
    1mpro Elite
    C'est une bonne idée mais j'ai pas bien capté une patrie: ca change quoi le fait qu'on soit obligé de dl un AC? Pcq les AC qui sont infaible ca existe pas encore, donc même si on était tous obligé de l'avoir ca changerai pas grand chose en somme? Si? Ou alors tu voulais dire que t'as trouvé un moyen pour rendre impossible le lancement d'un cheat grâce a ton dll? oO

    Sinon bonne idée mais vaut mieux que ca soit automatisé faut pensé aux admins qui on rien de mieux a faire que de faire le lamer avec l'autre team par tsay intempestifs :pfrt:
    1mpro, 30 Août 2006
    #3
  4. Offline
    "hooktuvasgamin"



    bon ok :porte:

    Sinon bonne idée. A creuser! =]
    BrainCracker, 30 Août 2006
    #4
  5. Offline
    tifrit 13:37
    il existe deja l anti cheat qui fonctionne a 100% > aequitas utiliser pour l'esl
    le meilleur anti cheat mais faut apres que un admin l'analyse ..
    tifrit, 30 Août 2006
    #5
  6. Offline
    Tweek je t'affone !
    mouais suis pas persuader !
    Tweek, 30 Août 2006
    #6
  7. Offline
    YatOo 's still an animial
    N'empeche si y'avait pas de cheat, y'aurai pas besoin d'anticheat.

    :porte:
    YatOo, 30 Août 2006
    #7
  8. Offline
    sANCHEZ_- POKERPADAWAN
    Bah y'a deja des progs comme ca, utilisé en CEVO par exemple.

    non?
    sANCHEZ_-, 30 Août 2006
    #8
  9. Offline
    KouBiaC_be ex membre
    KouBiaC_be, 30 Août 2006
    #9
  10. Offline
    neku Codeur roumain
    Oui j'ai trouvé une solution avec ma dll d'empecher une autre de venir s'injecter, et si une précédente est lancée avant cs plante. Le log ne say pas dans la partie ;)

    L'anti-cheat de l'esl est très facile à contourner car il se base principalement sur les cvars :p
    apres ca avec 2/3 lignes de code injecté il n'y vois que du feu :cool:
    Pour les anti-cheat qui font des screens facile aussi, un screen est un appel au system pour faire une capture d'écran .. il suffit d'intercepter le message désactiver le cheat le temps du screen (tres court moment) et réactiver après automatiquement, ce qui est déjà le cas dans les cheats cs pour les plugins amx qui screen auto la fin de la partie ;)

    Donc voila 2 anto-cheat dont vous avez parler et dont je connais des méthodes pour les contourner :p

    Le problème de ses anti-cheat c'est qu'il ne s'inject pas dans le processus, alors que moi je propose un système qui viendrais s'injecter dans le processus de Cs et donc comme n hook serais déjà en place si on essaye de venir en placer un second le processus quite (crash).
    neku, 31 Août 2006
    #10
  11. Offline
    sANCHEZ_- POKERPADAWAN
    Toi tu m'interesses, on vas discuter ensemble ce soir ou samedi soir !

    Le temps que je vois si ce que je veux faire est réalisable ^_-
    sANCHEZ_-, 31 Août 2006
    #11
  12. Offline
    neku Codeur roumain
    Oki pas de problème, si tu le désire mon MSN est dispo sur mon profil ;)
    Je ne refuse personne :D
    neku, 31 Août 2006
    #12
  13. Offline
    GUMBAL 1337
    on va suivre cela de très près, cela ne peut être que du bon :)
    GUMBAL, 31 Août 2006
    #13
  14. Offline
    neku Codeur roumain
    Je viens donc poster les dernières infos à propos de l'anti-cheat

    Principe :
    - Un deamon côté serveur
    - Un client injecté chez le joueur
    - Une connexion sécurisé SSL

    Voici comment va se dérouler le fonctionnement de l'anti-cheat.

    - Le joueur lance l'anti-cheat
    - Le joueur execute Counter-Strike 1.6
    - L'anti-cheat s'inject au processus hl.exe
    - L'anti-cheat place une cvar indiquant au serveur que le joueur l'utilise
    - Le joueur join un serveur sécurisé par l'anti-cheat (deamon)
    - L'anti-cheat ouvre une connexion sécurisé SSL avec le deamon
    - Le deamon demande au serveur par rcon de vérifié si le joueur utilise l'anti-cheat
    - Le serveur répond que OUI
    - Le deamon demande a l'anti-cheat via la connexion sécurisé confirmation
    - L'anti-cheat répond correctement, le joueur peut joueur tranquillement

    Imaginons maintenant que tout ne se produit pas correctement ...

    - Le serveur répond NON -> le joueur se vois kicker du serveur
    - L'anti-cheat répond de manière érronée -> le joueur se vois kicker

    Cet anti-cheat n'éffectuera aucun ban de lui même mais utilisera une base de données externe pour vérifier (côté Deamon) les steam_ID des joueurs se connectant au serveur, si la steam_ID est trouvée le joueur sera simplement kické pour ainsi éviter toute erreur.
    Une steam_ID mise par erreur pourra être supprimée sur présentation de preuves de non cheat.

    Pour le moment se sont les seules information sur ce système que je puisse vous donner.
    neku, 31 Août 2006
    #14
  15. Offline
    1mpro Elite
    Et c'est léger tout ca? Ce qu'il faudrait c'est mettre a jour la cvar quotidiennement non? Afin que personne ne puisse trafiquer qqch ou quoi :p Enfin le rendre vraiment infranchissable... Sinon tous les cheat fonctionnent avec des dll? Même des dérivés de x-spectate?
    1mpro, 31 Août 2006
    #15
  16. Offline
    1mpro Elite
    Bah c'est pr ca je parlais de faire une sorte de micro MAJ quotidienne pour rendre la chose plus difficile...
    1mpro, 31 Août 2006
    #16
  17. Offline
    neku Codeur roumain
    Pour répondre à votre réflexion qui n'est pas stupide du tout, on y à déjà pensé :p
    c'est pour cette raison que l'on utilise un tunnel SSL pour crypter les données mais en plus de cela les données du protocol dans le DLL seront crypté par XOR string, donc en résumer il faudrais à un ordinateur environ 100ans de calcul pour pouvoir décrypter le protocol.
    Oui c'est très léger environ 100/150Ko pour la DLL

    Vu que l'anti-cheat est un hook il interdit tout autre forme de hook de venir se greffer.
    Même x-spectate ne pourrais fonctionner.
    neku, 31 Août 2006
    #17
  18. Offline
    neku Codeur roumain
    Biensur, si on lance l'anti-cheat et que l'on join un serveur ne l'utilisant pas rien n'empeche d'y joueur totalement normalement.
    neku, 31 Août 2006
    #18
  19. Offline
    1mpro Elite
    Sinon pour le nom:

    TheWall

    DO.NOT.DO.IT

    Safety.cvar

    ou bien

    1mpro's AC
    1mpro, 31 Août 2006
    #19
  20. Offline
    neku Codeur roumain
    Je retient les idées :p
    Safety c'est un mot explicit :D
    1mpro's AC :cool:
    neku, 31 Août 2006
    #20
Statut de la discussion:
Fermée.