Evitar Hackers em jogos Multiplayer
3 participantes
Página 1 de 1
Evitar Hackers em jogos Multiplayer
Eae galera, eu queria evitar um hack chamado HackSpeed, que modifica as horas do game e assim, fica mais rápido, e para evitar isso, eu queria pegar o Timing do server, não do player local. Como faço?
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Re: Evitar Hackers em jogos Multiplayer
Souris escreveu:Eae galera, eu queria evitar um hack chamado HackSpeed, que modifica as horas do game e assim, fica mais rápido, e para evitar isso, eu queria pegar o Timing do server, não do player local. Como faço?
Cara assim, eu já fui programador de trainers hacker em C++, já fiz hackers para diversos jogos e postei à publico, muitos deles para jogos online como PB, CF que são jogos mais elaborados com Proteção contra cheats, tudo se envolve em conseguir acesso as OFFsets do game, pelas offset encontramos os Pointers que são os endereços que levam até o valor desejado a ser alterado a sim podendo ser alterado por um programa externo, no seu caso provavelmente estão utilizando o CheatEngine se for para computador ou android creio que seja alguma ferramenta que necessita de Root mais que faz a mesma função que é localizar endereços de offsets dentro do jogo, ele por si tem a função padrão de Speed que nada mais é forçar o aumento da velocidade do jogo, então a primeira maneira de se defender no caso é evitando a ferramenta pois é possível criar diversos cheats como fly hacker (voar), speed apenas para o player etc... em fim sabendo disso achei aqui no fórum esse tópico: LINK
onde mostra que é possível receber o nome do processo do soffter hacker, faz uma verificação se esses processos "cheatengine-x84_64.exe", "TEAM_GHXXX1.exe" (Tem a versão 6.7 disponível tente baixa-lá e ver o nome do processo, se quiser faça isso com todas as versões disponível para download ) se está aberto, caso esteja feche o jogo
Más como disse esse é um jeito que com meu conhecimento usaria, porque devem ser amadores usando essas ferramentas e elimina o problema pela raiz temporariamente
- Código:
using UnityEngine;[size=14][/size]using System.Collections;[size=14][/size]using System.Diagnostics; // Precisamos desta biblioteca[size=14][/size][size=14][/size]public class ChekProcess : MonoBehaviour {[size=14][/size] public string processName; // Aqui o nome do processo que deve ser colocado no inspector[size=14][/size][size=14][/size] void Start () {[size=14][/size] if (ChekProcess.IsProcessActive (processName)) print ("Ativo"); else print ("Não ativo"); // verificamos o valor da booleana[size=14][/size] ChekProcess.PrintAllProcessName();[size=14][/size] }[size=14][/size] public static bool IsProcessActive(string pname){[size=14][/size] if (Process.GetProcessesByName(pname).Length > 0) return true; else return false; //verificamos se o processo está ativo[size=14][/size] }[size=14][/size] public static void PrintAllProcessName(){[size=14][/size] foreach (Process process in Process.GetProcesses ()) {[size=14][/size] print(process.ProcessName);[size=14][/size] }[size=14][/size] }[size=14][/size]}
Re: Evitar Hackers em jogos Multiplayer
Más claro isso é uma solução para se acaso for para computador seu jogo
Re: Evitar Hackers em jogos Multiplayer
Verificar os nomes dos processos acredito que não seja uma boa saída, uma vez que podemos mudar os nomes deles.
Na minha opinião, oque inibe de forma mais eficaz é criar seu jogo baseado em servidor autoritário. Claro, utilizar métodos próprios para ajudar, como variáveis protegidas, etc... Sem contar a "criptografia" do seu código-fonte, uma vez que servidor e cliente ficam na mesma aplicação e sabemos que é fácil descompilar um jogo feito na Unity.
Mas tenha em mente que sempre vai existir um desgraçado se aproveitando de algum bug ou algo do gênero no seu jogo.
Na minha opinião, oque inibe de forma mais eficaz é criar seu jogo baseado em servidor autoritário. Claro, utilizar métodos próprios para ajudar, como variáveis protegidas, etc... Sem contar a "criptografia" do seu código-fonte, uma vez que servidor e cliente ficam na mesma aplicação e sabemos que é fácil descompilar um jogo feito na Unity.
Mas tenha em mente que sempre vai existir um desgraçado se aproveitando de algum bug ou algo do gênero no seu jogo.
Re: Evitar Hackers em jogos Multiplayer
artplayer escreveu:Verificar os nomes dos processos acredito que não seja uma boa saída, uma vez que podemos mudar os nomes deles.
Na minha opinião, oque inibe de forma mais eficaz é criar seu jogo baseado em servidor autoritário. Claro, utilizar métodos próprios para ajudar, como variáveis protegidas, etc... Sem contar a "criptografia" do seu código-fonte, uma vez que servidor e cliente ficam na mesma aplicação e sabemos que é fácil descompilar um jogo feito na Unity.
Mas tenha em mente que sempre vai existir um desgraçado se aproveitando de algum bug ou algo do gênero no seu jogo.
Depende do tipo do jogo artplayer, porque é muito simples conseguir acesso aos endereços e offsets de jogos produzidos na unity 3d, se for um jogo de tiro por exemplo é bem simples para mim criar um speed fire ou aimbot, no recoil, e até fly hacker, como grande parte das empresas fazem para evitar isso de fazer alterações nos códigos do game é verificar a cada instante se não há uma alteração externa nos valores, e não chega entrar em cogitação o fato de descompilar pois os endereços(Andress) são códigos numéricos de processamento que o jogo gera para o CPU, por tanto não existe jogo que não gere esses códigos, um dos grandes exemplos de jogo que conseguiu de fato eliminar os hackers foi o MuaWay, não faço ideia como más ele bloqueia a procura externa pelos valores gerados no decorrer do game, más não por injeção de DLL com códigos de procura de 4bytes pré definidas por trainers anteriores, más criar um novo hacker não é possível sem fazer o famoso chute no escuro, más emfim X-Trap entre outras empresas de anti cheats primeiramente detectam a ferramenta e posteriormente a modificação de endereços "Chave" que se forem alterados darão vantagem ao jogador por tanto creio eu que não tem muita escapatória sem um grande conhecimento de anti cheats que no meu caso tenho o conhecimento contraio então falo como antigo invasor :lol!:
Re: Evitar Hackers em jogos Multiplayer
ERRO MEU AQUI: "alterações nos códigos do game"
As alterações não são nos códigos mais sim nos endereços gerados para CPU
As alterações não são nos códigos mais sim nos endereços gerados para CPU
Re: Evitar Hackers em jogos Multiplayer
MRX escreveu:artplayer escreveu:Verificar os nomes dos processos acredito que não seja uma boa saída, uma vez que podemos mudar os nomes deles.
Na minha opinião, oque inibe de forma mais eficaz é criar seu jogo baseado em servidor autoritário. Claro, utilizar métodos próprios para ajudar, como variáveis protegidas, etc... Sem contar a "criptografia" do seu código-fonte, uma vez que servidor e cliente ficam na mesma aplicação e sabemos que é fácil descompilar um jogo feito na Unity.
Mas tenha em mente que sempre vai existir um desgraçado se aproveitando de algum bug ou algo do gênero no seu jogo.
Depende do tipo do jogo artplayer, porque é muito simples conseguir acesso aos endereços e offsets de jogos produzidos na unity 3d, se for um jogo de tiro por exemplo é bem simples para mim criar um speed fire ou aimbot, no recoil, e até fly hacker, como grande parte das empresas fazem para evitar isso de fazer alterações nos códigos do game é verificar a cada instante se não há uma alteração externa nos valores, e não chega entrar em cogitação o fato de descompilar pois os endereços(Andress) são códigos numéricos de processamento que o jogo gera para o CPU, por tanto não existe jogo que não gere esses códigos, um dos grandes exemplos de jogo que conseguiu de fato eliminar os hackers foi o MuaWay, não faço ideia como más ele bloqueia a procura externa pelos valores gerados no decorrer do game, más não por injeção de DLL com códigos de procura de 4bytes pré definidas por trainers anteriores, más criar um novo hacker não é possível sem fazer o famoso chute no escuro, más emfim X-Trap entre outras empresas de anti cheats primeiramente detectam a ferramenta e posteriormente a modificação de endereços "Chave" que se forem alterados darão vantagem ao jogador por tanto creio eu que não tem muita escapatória sem um grande conhecimento de anti cheats que no meu caso tenho o conhecimento contraio então falo como antigo invasor :lol!:
Até onde Sei, CheatEngine e similares são os conhecidos "MemoryHacks", em um jogo baseado em servidor autoritário, ainda que consiga encontrar offsets e mudar valores não teria efeito real na movimentação ou similares, pois é o servidor quem controla oque está acontecendo. Tente usar um speed, aim ou teleport em um jogo com esta estrutura por exemplo, o máximo que você vai conseguir vão ser saltos e em seguida voltar pra onde o "servidor disse que você precisa estar".
Lógico, esse tipo de estrutura é bem mais trabalhoso e envolve outros problemas como previsão e interpolação.
Não estou dizendo que é impossível, apenas que inibe. Existem outros métodos de burlar jogos "server side", como por exemplo capturar e identificar os pacotes de rede, modificá-los e enviar ao servidor.
É um assunto complexo e depende muito do tipo de estrutura que um jogo tem, o tempo e dinheiro que você tem pra investir.
Eu não me preocuparia tanto em um jogo em fase inicial, e investiria nesse quesito de acordo com o retorno e, quado pudesse, usaria um anti-cheater "SandBox" ala EasyAntiCheat.
Re: Evitar Hackers em jogos Multiplayer
artplayer escreveu:MRX escreveu:artplayer escreveu:Verificar os nomes dos processos acredito que não seja uma boa saída, uma vez que podemos mudar os nomes deles.
Na minha opinião, oque inibe de forma mais eficaz é criar seu jogo baseado em servidor autoritário. Claro, utilizar métodos próprios para ajudar, como variáveis protegidas, etc... Sem contar a "criptografia" do seu código-fonte, uma vez que servidor e cliente ficam na mesma aplicação e sabemos que é fácil descompilar um jogo feito na Unity.
Mas tenha em mente que sempre vai existir um desgraçado se aproveitando de algum bug ou algo do gênero no seu jogo.
Depende do tipo do jogo artplayer, porque é muito simples conseguir acesso aos endereços e offsets de jogos produzidos na unity 3d, se for um jogo de tiro por exemplo é bem simples para mim criar um speed fire ou aimbot, no recoil, e até fly hacker, como grande parte das empresas fazem para evitar isso de fazer alterações nos códigos do game é verificar a cada instante se não há uma alteração externa nos valores, e não chega entrar em cogitação o fato de descompilar pois os endereços(Andress) são códigos numéricos de processamento que o jogo gera para o CPU, por tanto não existe jogo que não gere esses códigos, um dos grandes exemplos de jogo que conseguiu de fato eliminar os hackers foi o MuaWay, não faço ideia como más ele bloqueia a procura externa pelos valores gerados no decorrer do game, más não por injeção de DLL com códigos de procura de 4bytes pré definidas por trainers anteriores, más criar um novo hacker não é possível sem fazer o famoso chute no escuro, más emfim X-Trap entre outras empresas de anti cheats primeiramente detectam a ferramenta e posteriormente a modificação de endereços "Chave" que se forem alterados darão vantagem ao jogador por tanto creio eu que não tem muita escapatória sem um grande conhecimento de anti cheats que no meu caso tenho o conhecimento contraio então falo como antigo invasor :lol!:
Até onde Sei, CheatEngine e similares são os conhecidos "MemoryHacks", em um jogo baseado em servidor autoritário, ainda que consiga encontrar offsets e mudar valores não teria efeito real na movimentação ou similares, pois é o servidor quem controla oque está acontecendo. Tente usar um speed, aim ou teleport em um jogo com esta estrutura por exemplo, o máximo que você vai conseguir vão ser saltos e em seguida voltar pra onde o "servidor disse que você precisa estar".
Lógico, esse tipo de estrutura é bem mais trabalhoso e envolve outros problemas como previsão e interpolação.
Não estou dizendo que é impossível, apenas que inibe. Existem outros métodos de burlar jogos "server side", como por exemplo capturar e identificar os pacotes de rede, modificá-los e enviar ao servidor.
É um assunto complexo e depende muito do tipo de estrutura que um jogo tem, o tempo e dinheiro que você tem pra investir.
Eu não me preocuparia tanto em um jogo em fase inicial, e investiria nesse quesito de acordo com o retorno e, quado pudesse, usaria um anti-cheater "SandBox" ala EasyAntiCheat.
Você tem razão más porem no caso do Aimbot não tem fuga na minha opinião utilizando o servidor autoritário pq quando se constrói um aimbot em C++ utilizasse apenas a leitura dos Pointers das coordenadas da mira na tela e a analise dos jogadores que recebem outro pointer único más com offsets diferentes para cada um, a unica alteração é travar as coordenadas da sua mira para o centro da cabeça do jogador adversário e como sempre essa alteração deve ser feita pelo player sendo assim o servidor recebe a influencia dessas alterações como se fosse o player movendo o mouse normalmente, a unica fuga que sei sobre o aimbot é calcular a velocidade em que a mira do jogador se moveu na tela pois praticamente a mira se "teleporta" para a cabeça do jogador e existe outros hackers como wallhacker que se consistem em observar outros jogadores por trás da parede que só faz alteração nos dados das texturas, não conheço muito da EasyAntiCheat más se ela impedir as alterações de determinados valores como citei (Os que sofrem grande influencia como da mira) vai ajudar bastante más por mim investimento só é bom quando se tem retorno haha
Re: Evitar Hackers em jogos Multiplayer
Verdade, pra rotação por exemplo, preciso dos valores dos inputs, que podem ser calculados e alterados pelo hack.
Rapaz, o easyanticheat está encrencando até com macro de mouse, pelo que acompanhei até agora ele me parece muito bom.
Estamos trabalhando em um projeto fechado e ele foi a opção mais votada. Estamos aguardando um orçamento ainda pra saber se "cabe no bolso" do projeto.
Quanto a wall acredito que o eac esteja bem evoluído, já joguei alguns jogos que depois da implantação dele os hackers simplesmente desapareceram.
É muito bom ter esse tipo de discussão, agente vai abrindo novos horizontes.
Rapaz, o easyanticheat está encrencando até com macro de mouse, pelo que acompanhei até agora ele me parece muito bom.
Estamos trabalhando em um projeto fechado e ele foi a opção mais votada. Estamos aguardando um orçamento ainda pra saber se "cabe no bolso" do projeto.
Quanto a wall acredito que o eac esteja bem evoluído, já joguei alguns jogos que depois da implantação dele os hackers simplesmente desapareceram.
É muito bom ter esse tipo de discussão, agente vai abrindo novos horizontes.
Re: Evitar Hackers em jogos Multiplayer
Não faço a menor idéia do que estão falando. Eu só queria saber como eu pego o horário do host, invés do client para evitar Hackspeed..
NKKF- ProgramadorMaster
- PONTOS : 4817
REPUTAÇÃO : 574
Idade : 20
Áreas de atuação : Desenvolvedor na Unity, NodeJS, React, ReactJS, React Native, MongoDB e Firebase.
Respeito as regras :
Tópicos semelhantes
» [Multiplayer] Base para começar um multiplayer?
» Evitar erro no UNET (LAN)
» como evitar que o horário da onde que seja alterado
» bool para evitar de salvar frames repetido
» Como evitar de usar um item quando ele não estiver equipado
» Evitar erro no UNET (LAN)
» como evitar que o horário da onde que seja alterado
» bool para evitar de salvar frames repetido
» Como evitar de usar um item quando ele não estiver equipado
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos