Ir para conteúdo
Faça parte da equipe! (2024) ×

[C#]Proteções para seus Jogos/Programa (Anti Hack)


Cr4cko
 Compartilhar

Posts Recomendados

  • Velha Guarda

19DyiKs.png

 

PROTEÇÃO PARA SEUS JOGOS/PROGRAMA - C#

 

Bom pessoal, com vi umas dúvidas em relação à como proteger seu jogo, e também tive um problema desses a uns dias atrás, resolvi criar este tópico para facilitar. Lembrando que tudo é burlável, nenhuma proteção vai funcionar 100%. Mas evitar e dificultar a vida dos hackers/lammers/crackers é a melhor coisa a se fazer, certo? Vamos la então.

 

CHECKSUM

 

Checksum nada mais é que um conjunto de caracteres utilizados para conferir a integridade de um arquivo.

Ele é único de cada programa. Caso queira uma explicação mais detalhada sobre checksum, clique neste link: O que é Checksum?

 

Encontrei na internet rapidamente, o código para fazer a verificação dos arquivos.

É um simples método (função) boolean, que você recebe como parâmetro 2 arquivos (arquivo 1 e arquivo 2)

onde ele verifica primeiramente se os 2 possuem o mesmo tamanho (lenght), caso contrario ele já retorna false.

Logo em seguida ele faz a conversão dos arquivos para capturar o conjunto de caracteres dele para fazer a comparação.

Caso os arquivos sejam iguais, ele retorna true.

 

Checksum usando Int64

 

É necessário se cadastrar para acessar o conteúdo.

 

Algo interessante que vi também, onde vi bastante na source do gunz é comparação em MD5.

Este aqui embaixo, é usando ReadBytes e hashcodes

 

É necessário se cadastrar para acessar o conteúdo.

 

Isso é uma função. Você vai adicionar ao seu código e apenas chamar essa função em uma CONDIÇÃO (if/else).

Vou passar a ideia para vocês (não é código, apenas a lógica)

 

É necessário se cadastrar para acessar o conteúdo.

 

 

PROCESSOS

 

Quem mexe com computadores, já deve ter ouvido falar de processos.. sim, são aquele nomezinhos que aparecem quando você vai finalizar uma tarefa

no Gerenciado de Tarefas.. como o "chrome.exe" do Google Chrome ou "firefox.exe" do Firefox..

Seu programa possui um conjunto de instruções, que na verdade são executadas pelo seus processos.

Uma descrição completa do que são processos, clique aqui: O que são Processos?

 

A proteção via processos é algo bem simples! Você precisa identificar o nome do processo primeiramente, para poder adicionar ao seu programa.

Você pode adicionar de diversas formas, no caso do exemplo vou mostrar apenas de como bloquear adicionando manualmente.

No caso do meu programa, eu fiz um List, puxando uma tabela so de processos que eu adiciono no meu banco de dados do meu servidor.

Ou seja, eu adiciono quantos processos quiser, e a List faz a checagem de todas atraves do Foreach. Assim não preciso ficar atualizando o

programa apenas para adicionar 1 ou 2 processos.. enfim, existem diversas maneiras de usar essa simples função. Pode ser bem util!

 

Esse método que construi, é simples, ele percorre os processos até encontrar o processo com o nome que você precisa. Porem essa função procura pelo nome

dos processos. Então não é necessario o .exe. Caso encontre o processo que você determinou que será bloqueado, ele executa o comando Kill(),

que finaliza o processo na hora! Bacana né? Vamos ao código!

 

É necessário se cadastrar para acessar o conteúdo.

 

Simples né? Você pode chamar este método em qualquer parte do seu programa apenas pelo protecaoProcessos();

Antes de adicionar o código ao seu programa, faça testes e faça um backup do seu código, para não ter problemas futuramente.

 

Qualquer dúvida sobre qualquer um desses códigos, é só comentar que estarei respondendo o mais rápido possível.

Eu não programo em C#, mas como é parecido com a linguagem que programo, posso resolver ou pelo menos tentar te guiar à sua resposta..

Qualquer erro cometido por mim ou complemento que você quer adicionar, fique a vontade para postar também..

Espero ter ajudado! Abraços

 

Referencias

(c# - How to compare 2 files fast using .NET? - Stack Overflow)

(c# - Calculate MD5 checksum for a file - Stack Overflow)

Quer aprender a programar Python?

https://youtube.com/@ProgramadorPython

Link para o comentário
Compartilhar em outros sites

Este tópico está impedido de receber novos posts.
 Compartilhar

×
×
  • Criar Novo...

Informação Importante

Nós fazemos uso de cookies no seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies , caso contrário, vamos supor que você está bem para continuar.