1 pontos por GN⁺ 2025-01-21 | 1 comentários | Compartilhar no WhatsApp

Engenharia reversa do anti-cheat de Call of Duty

  • Introdução
    • Compartilha os resultados do estudo do anti-cheat em modo de usuário de Black Ops Cold War.
    • É um jogo da Treyarch, e o sistema é referido como TAC (Treyarch Anti-Cheat).
    • A principal diferença em relação aos jogos mais recentes é a presença ou ausência de um driver em modo kernel.

Arxan

  • Papel do Arxan
    • Ferramenta de ofuscação/proteção usada nos jogos de Call of Duty.
    • Criptografa o executável e encerra o processo ao detectar um depurador ou inconsistência de checksum.

Criptografia do executável em tempo de execução

  • Proteção do executável
    • O executável do jogo é empacotado e criptografado, e o Arxan faz o desempacotamento e a descriptografia.

Checksum do executável

  • Monitoramento de checksum
    • O Arxan monitora continuamente patches aplicados ao executável.

Ofuscação com jmp

  • Ofuscação de funções
    • Separa funções e instruções com jmp para dificultar a análise.

Ofuscação do ponto de entrada

  • Proteção do ponto de entrada
    • É difícil seguir o ponto de entrada em jogos protegidos pelo Arxan.

Criptografia de ponteiros

  • Proteção de ponteiros
    • Ponteiros importantes são criptografados e descriptografados antes de cada uso.

Como o TAC detecta monitoramento

  • Detecção de hook de API
    • O TAC usa a API do Windows para executar o anti-cheat e detectar padrões específicos.

Consulta de exportações de API em tempo de execução

  • Consulta de API
    • O TAC consulta APIs usando hash de módulo e hash de nome de API.

Registradores de depuração

  • Detecção de registradores de depuração
    • O TAC detecta registradores de depuração e encerra o processo.

Exigência de assinatura de driver

  • Detecção de modo de teste
    • Detecta o modo de teste do Windows e marca a conta.

Como o TAC encerra processos

  • Encerramento de processo
    • O TAC encerra o processo de duas maneiras e inicializa os registradores.

Detecção de logging de cheat

  • Detecção de alocação de console
    • Detecta cheats verificando se uma janela de console foi alocada.

Detecção de elementos visuais

  • Detecção de ESP e UI
    • Detecta cheats que desenham na tela usando DirectX 12.

1 comentários

 
GN⁺ 2025-01-21
Opiniões no Hacker News
  • É preciso haver regulação legal contra remover recursos de um produto depois da venda. Especialmente quando recursos são removidos por contrato ou EULA, deve haver reembolso para o dono do jogo. A invalidação de compras na Steam deveria ser legalmente impossível e, mesmo quando o login da conta for restringido, itens e inventário ainda deveriam poder ser negociados. Se um código de conduta for aplicado em jogos multiplayer, não se deveria poder cobrar pelo jogo, as punições deveriam seguir o princípio da proporcionalidade e deveria existir um sistema de apelação com custo limitado e presença humana

  • Reverteu um banimento permanente injusto após uma batalha judicial de 2 anos contra a Activision. A Activision perdeu sem apresentar provas de trapaça

  • Não joga, mas a parceira joga. Viu um caso de espectador observando jogadores no subsolo e, mesmo que o cliente seja hackeado ou esteja trapaceando, o servidor deveria validar se o estado do jogador é legítimo

  • Ficou curioso sobre a ofuscação com saltos. Pergunta se saltos incondicionais não são comuns o bastante para não poderem ser filtrados como pré-condição. Parece que deveria ser fácil encontrar o fim da função e se pergunta se haveria como analisar a pilha para saber onde a função retorna e procurar a chamada imediatamente antes do endereço de retorno

  • Quer saber onde isso foi aprendido. Gostaria de entender metade do conteúdo deste artigo, mas não sabe por onde começar

  • Já fez um pouco de engenharia reversa em um MMO popular baseado em Horde/Alliance e seguiu quase exatamente as mesmas etapas, incluindo hash de exportação FNV32. Parece usar truques muito parecidos. Pergunta se foi empacotado com a mesma proteção

  • Trabalho de pesquisa excelente. Claramente não é a primeira experiência do autor

  • Enquanto for possível ler e escrever memória, não dá para impedir trapaça online em jogos FPS

  • Signature scanning é a parte mais viciante da engenharia reversa. Monta-se uma lista de assinaturas e escrevem-se bindings para uma linguagem de script para chamar ponteiros de função. É a base de funcionamento de muitas plataformas de mods de terceiros

  • Trapaça em jogos multiplayer é um grande problema e destrói a confiança nos principais FPS. Como jogador de CS, jogou os novos CoD por um tempo, mas não há jogo que possa recomendar por causa da trapaça. Jogos como Escape From Tarkov sofrem com trapaceiros que roubam até o cano da arma e forçam o encerramento do jogo/PC. O modo competitivo do Counter-Strike funciona como uma vitrine de anúncios de trapaça dentro do próprio jogo. Valorant é melhor do que outros jogos por causa do anticheat invasivo, mas não é tão limpo quanto os fãs afirmam. A indústria de matchmaking privado do Counter-Strike foi construída sobre a promessa de anticheat e jogo em nível profissional