domingo, 5 de julho de 2015

Dicas de programador - Prevenção de Memory Hacking



Dicas de programador - 1. Prevenção de memory hacking.


Antes de tudo, devemos saber o que é exatamente o memory hacking.

Memory Hacking, vem do ingles, Hackear memória (em tradução livre), mais o que seria? Seria modificar valores de aplicações/programas que estão guardados na memória.

O ato de modificar estes valores são mais comuns em jogos, pois esta possibilidade permite que os usuários obtêm vantagens no jogo quebrando o sistema de economia, ou seja, modificando seus recursos e moedas.

Alguns jogos previnem isto usando um servidor externo, que processa praticamente tudo, e o cliente somente exibe o que o servidor processa, sendo assim, mesmo que modificado no cliente, o servidor ainda irá processar o valor verdadeiro e não o modificado. Já em jogos para serem jogados offline (sem internet) podem ter os valores facilmente modificados.

Existem algumas formas de dificultar este ato, vamos falar somente na parte teórica, um bom desenvolvedor saberá reproduzir isto na pratica. 


Como o memory hacking se baseia em modificar valores na memória existem alguns truques que dificultam, e podem até impedir tal fato, sem que seja preciso um servidor externo.


1. Você pode criar variáveis que representem a moeda do jogo, todas variáveis terão este valor, quando uma delas for modificada sem que a outra seja, o programa automaticamente atualiza para a real.

2. Você pode guardar as moedas em um arquivo codificado, sempre que forem modificadas tudo é enviado ao arquivo, ao fazer compras estes valores da moeda são obtidos do arquivo. Porém, além de ser um método eficiente, pode deixar sua aplicação um pouco mais lenta.

3. Criar métodos para modificação de moedas, ou seja, se a moeda foi modificada deve haver algum motivo, seja por compra, ou por ganho, o que modificou a variável deve existir, se não existir foi uma modificação externa, logo o programa fecha, podendo fazer duas coisas, voltar as moedas antigas, ou reseta-las (sim, ninguém mandou hackear).

4. Codificar a moeda e guarda-la em uma variável, sempre que alguém tenta modificar tal valor, ele busca pelo que é exibido, mais se tiver escondido dentro de um complexo sistema de codificação isto fica complicado, pois se no jogo está mostando 5000 moedas, porém dentro da aplicação está armazenado em uma string com o seguinte valor "595s223a1bb199x" o programa nunca irá saber.

Pretendo postar mais artigos com dicas, até +.


Tags: , , , , ,

0 Comentarios para “Dicas de programador - Prevenção de Memory Hacking”

Postar um comentário

© SouUmByte. Todos direitos reservados.
Designed by SpicyTricks