Visão geral da segurança de jogos móveis
Um jogo para celular geralmente contém: código, recursos e configuração de dados.
O código é a parte central da lógica do jogo;
Os recursos são responsáveis por apresentar o jogo ao jogador (geralmente incluindo: imagens, sons, animações, modelos 3D e renderizações, etc.);
A configuração de dados armazena várias informações de valor de atributo no jogo (a configuração de dados inclui: atributo de equipamento, atributo de combate, atributo de personagem, atributo de produto, atributo de monstro e outras informações de configuração numérica)
Riscos enfrentados por jogos comuns
- Modificar arquivos estaticamente
- Modifique dinamicamente a lógica do jogo
- Acordo de adulteração
- Hack de jogos
- Discurso malicioso
- estúdio
Modificar arquivos estaticamente
Os arquivos do jogo são estaticamente modificados, reempacotados e assinados
1. Modifique os recursos do jogo
Ao afetar a lógica do jogo, a cadeia do jogo que chama a lógica de processamento de recursos é invalidada, resultando em situações anormais no jogo
Geralmente, você pode tentar substituir ou excluir arquivos de recursos, como imagens e animações, no diretório de recursos do jogo, modificar os recursos para afetar a lógica do jogo ou promover ilegalmente anúncios falsos no jogo.
2. Modifique o código
Geralmente, o segmento de dados somente leitura e o segmento de código são principalmente modificados. O segmento de dados somente leitura pode armazenar alguns dados importantes para o jogo. O segmento de código contém a lógica de execução de todo o jogo.
3. Modifique a configuração
Modificar a configuração é semelhante a modificar o arquivo de recursos.Por exemplo, copiar n cópias do arquivo bin da configuração de nível simples e renomear o arquivo bin da configuração de nível difícil pode reduzir a dificuldade do jogo.
Lógica de violação dinâmica
Em geral, a lógica convencional de violação dinâmica é acompanhada por operações de injeção. A injeção geralmente usa meios técnicos para carregar a biblioteca de vínculo dinâmico no sistema operacional no processo de destino e implementar certas funções executando o código na biblioteca de vínculo dinâmico. Injetar segurança de entrada / malware meios freqüentemente usados. Os métodos de injeção do Android e ios são diferentes. Além disso, a lógica de modificação dinâmica é comumente usada para enganchar operações a fim de interceptar a lógica do jogo.
1. Modifique o código
Se algumas funções forem calculadas no cliente local, algumas operações no jogo podem ser interceptadas pelo programa de plug-in e, então, a lógica de processamento pode ser modificada para atingir o objetivo de modificar o conteúdo do jogo.
2. Modifique os dados
É semelhante à modificação estática, mas modifica dinamicamente os dados do jogo enquanto o programa está sendo executado.
Acordo de Jogo
O formato de comunicação entre o cliente e o servidor é determinado pelo protocolo do jogo, se os campos e dados nele contidos forem quebrados, terá um impacto sério em todo o jogo e até no servidor. Normalmente, a modificação do protocolo pode ser realizada por meio de adulteração e retransmissão.
1. Adultere o protocolo do jogo
Normalmente são jogos em que a lógica do lado do cliente é muito importante, pois a violação do protocolo do jogo pode ter um impacto significativo. Quando o protocolo é interceptado e seus campos são modificados e, em seguida, enviados ao servidor, se o servidor não verificar isso, os efeitos podem ser muito ruins. Por exemplo, se houver um ID de função no contrato de compra, você pode modificar o campo de ID de função no contrato para obter o item que deve ser a receita de terceiros.
2. Emita novamente o contrato do jogo
Múltiplas retransmissões do protocolo podem causar alguns problemas de julgamento do servidor. Por exemplo, quando o plug-in não pode modificar o dano do personagem para atingir o objetivo de matar o inimigo em um flash, ele pode atingir o efeito de causar danos múltiplos de julgamento através de um protocolo de dano múltiplo simultâneo, realizando assim também a função matando o inimigo em um flash.