[Tool/Web/Other] bAntiCheat [C#]
#1



Bem, eu estou a comeзar a trabalhar com sockets nos meus projetos em C#, e pensei porque nгo criar um anti-cheat para SAMP, coisa que sempre quis fazer? Aqui estб ele.


O QUE FAZ?

O anticheat ainda estб numa fase muito bбsica. Para jб ele sу procura no directуrio do SAMP por ficheiros de cheats, mods, etc. Tambйm procura processos com nomes suspeitos que estejam a correr ao mesmo que o SAMP estб a correr. Futuramente vou ver se consigo proteger ou detectar a injeзгo de DLL's no gta_sa.exe. Ele bane de forma mais permamente que arranjei, que й uma mistura do serial number da motherboard + serial number do CPU. Para se desbanir, sу trocando de componentes (desconheзo qualquer software que altere estes dados). Numa prуxima actualizaзгo tambйm pretendo adicionar um autoupdater, para que o update do cliente seja facilitado.

Mas como funciona concretamente: o jogador tem de ter o anticheat ligado para se conectar ao servidor. Se nгo tiver vai levar kick. Se desligar o anti-cheat enquanto joga vai levar kick. Se forem detetado cheats enquanto joga, leva kick. Nгo coloquei a dar ban porque podem haver falsos positivos.


REQUERIMENTOS

strlib by Westie
sockets [0.1b] by BlueG
DOF2 by Double-O-Seven
Microsoft NET FrameWork 4.6.1
Pasta bAntiCheat criada nos scriptfiles
Porta 4000 livre (default)

CONFIGURAЗХES

PHP код:
TIMERDELAY_CHECKAC (em MSDe quanto em quanto tempo o servidor vai pedir informaзхes ao cliente.
TIMERDELAY_CONFIRMACCHECK (em MSЙ o tempo que demora o script a kickar ou nгo o jogador depois do anticheat enviar a resposta.
TIMERDELAY_CHECKFORACONCONNECT (em MSЙ o tempo que demora o anticheat a atuar depois de o jogador se conectar
ATENЗГO:
Estas configuraзхes podem ter de ser alteradas de acordo com a performance do servidor, performance do cliente e ping. Tempos demasiado baixos podem causar problemas. Tempos demasiado altos podem comprometer a eficбcia do anticheat, pois os jogadores podem usar os cheats antes de serem de facto banidos.

Se fizerem alteraзхes no cуdigo do client, Й PRECISO ALTERAR A HASH MD5 NO FILTERSCRIPT. Para verem a hash, depois de compilar no Visual Studio clicam na label que diz Consola. Vai aparecer na RichTextBox o MD5 hash entre aspas. Й sу copiar isso e colar na variбvel chamada SERVER_MD5HASH no Filterscript.

PRINTS


(Dentro do jogo nгo hб muito para mostrar, apenas as poucas mensagens que o script manda)

DOWNLOADS

Releases
Repositуrio GitHub


NГO CRIE MIRRORS SEM AUTORIZAЗГO

NOTAS FINAIS

Estou aberto a sugestхes. Digam o que acharam
O cуdigo й aberto logo й quase impossнvel criar uma autenticaзгo que nгo possa ser burlada.

PS: este anticheat й muito inseguro e extremamente fбcil de ser burlado. Foi apenas criado para fazer uma experiкncia, com os meus conhecimentos na йpoca.
Reply
#2

Ficou bom.
Uma sugestгo para futuras versхes: Por ser um FS anticheat sem frescura pra manipular arquivos, vc poderia usar Bini por ser mais rбpido ao invйs de DOF2.
Good job!
Reply
#3

Quote:
Originally Posted by F1N4L
Посмотреть сообщение
Ficou bom.
Uma sugestгo para futuras versхes: Por ser um FS anticheat sem frescura pra manipular arquivos, vc poderia usar Bini por ser mais rбpido ao invйs de DOF2.
Good job!
Acho que nгo hб necessidade de alterar o DOF2. Sгo tгo poucas coisas a serem guardadas que acho que nгo compensa. Mas obrigado pelo feedback
Reply
#4

Github? Poderia contribuir, fiz um executбvel do lado do cliente a algum tempo que se conectava hб um plugin no SA-MP por sockets. Nгo confiava muito no plugin BlueG, posso ajudar adcionar vбrias coisas novas. Possivelmente usarei em meu prуximo projeto.
Reply
#5

Quote:
Originally Posted by Day_
Посмотреть сообщение
Github? Poderia contribuir, fiz um executбvel do lado do cliente a algum tempo que se conectava hб um plugin no SA-MP por sockets. Nгo confiava muito no plugin BlueG, posso ajudar adcionar vбrias coisas novas. Possivelmente usarei em meu prуximo projeto.
Quem sabe eu comeзo a usar o Github. Mas primeiro tenho de aprender a usar
Reply
#6

Fiquei interessado pra dar uma olhada e talvez contribuir se possнvel, mas nгo estou conseguindo acessar o cуdigo.

Vocк poderia disponibilizar esse cуdigo no github? ou entгo mandar o pastebin com o resto do source?

Obrigado.
Reply
#7

Quote:
Originally Posted by ipsNan
Посмотреть сообщение
Fiquei interessado pra dar uma olhada e talvez contribuir se possнvel, mas nгo estou conseguindo acessar o cуdigo.

Vocк poderia disponibilizar esse cуdigo no github? ou entгo mandar o pastebin com o resto do source?

Obrigado.
Nгo estб a conseguir acessar o cуdigo como assim? O link nгo estб a funcionar?

Jб que hб algum interesse vou ver alguns tutoriais de como utilizar o github e vou colocar os ficheiros lб.
Reply
#8

Recomendo vocк utilizar o github, quanto mais fбcil for o acesso ao conteъdo para nуs usuбrios, mais visualizaзхes/contribuiзхes o seu cуdigo terб.

Se por ventura vocк decidir inserir os cуdigos em alguma ferramenta de versionamento semelhante github/bitbucket, avise aqui no tуpico que eu volto pra dar uma olhada.

Obrigado.
Reply
#9

Jб criei repositуrio no GitHub. Mas ainda tenho algumas dъvidas em relaзгo ao github. Outras pessoas sem ser eu podem alterar o cуdigo sem eu dar autorizaзгo?
Reply
#10

Nao, tens de aceitar o "commit" deles. Eles "pedem-te" ja com a proposta de alteracao deles..
Reply
#11

Quote:
Originally Posted by PT
Посмотреть сообщение
Nao, tens de aceitar o "commit" deles. Eles "pedem-te" ja com a proposta de alteracao deles..
Entгo basicamente eles enviam uma proposta de alteraзгo e eu aceito se quiser? Й isso? Nice!
Reply
#12

A board estava muito precбria em relaзгo а este tipo de software.
Reply
#13

Quote:
Originally Posted by ipsLuan
Посмотреть сообщение
A board estava muito precбria em relaзгo а este tipo de software.
Esta primeira release estб ainda muito "crua". Pretendo adicionar mais funзхes ao anticheat, documentar o cуdigo, etc. Й uma maneira de aprender.
Reply
#14

A pessoa irб fazer um fork de seu cуdigo(Clonar ele para eles alterarem). Apуs alterarem como bem entender a versгo que eles tem, eles farгo um pull request(Pedido), ae vocк aceita ou nгo no repositуrio oficial.
Reply
#15

Como vocк consegue conectar-se em C# ao SA:MP? ou usa database? sempre tentei, nada. ;(

Aproveitando a minha duvida e que й em relaзгo a C#, й possнvel criar plugins em C# ?

Parabйns pelo projeto !
Reply
#16

Ele usou Socket para fazer a comunicaзгo do anti-cheater com o servidor.
Reply
#17

Sу consegui acessar o seu repositуrio agora, nгo sei oque estб acontecendo, mas para mim o fуrum estб ficando cada vez mais offline.

Muito bacana a sua ideia, parabйns.

+rep
Reply
#18

Parece que o plugin dos Sockets do BlueG estб um pouco instбvel... Hoje cheguei ao PC para testar e reparo que o plugin estб a dar um erro que nгo encontro ninguйm a falar sobre ele:
Код:
socket_connect(): Socket ID 0 has failed to bind IP ;LC_CTYPE=C;LC_MONETARY=C;LC_NUMERIC=C;LC_TIME=C.
Se alguйm puder testar nos vossos servidores para ter a certeza que nгo й do meu pc, agradeзo. E se alguйm souber como resolver diga :P
Reply
#19

Quote:
Originally Posted by ipsNan
Посмотреть сообщение
Sу consegui acessar o seu repositуrio agora, nгo sei oque estб acontecendo, mas para mim o fуrum estб ficando cada vez mais offline.
Sу mudar o IP da internet, aqui quando acontece isso, faзo isso
Reply
#20

Quote:
Originally Posted by MacMillan_
Посмотреть сообщение
Sу mudar o IP da internet, aqui quando acontece isso, faзo isso
Lembre-se q a maioria utiliza IP estбtico (a menos q use um VPS).
Reply


Forum Jump:


Users browsing this thread: 6 Guest(s)