Skip to content

MASTG-TEST-0048: Teste de Detecção de Ferramentas de Reverse Engineering

Avaliação de Eficácia

Inicie o aplicativo com várias ferramentas e frameworks de engenharia reversa instalados em seu dispositivo de teste. Inclua pelo menos os seguintes: Frida, Xposed.

O aplicativo deve responder de alguma forma à presença dessas ferramentas. Por exemplo:

  • Alertando o usuário e solicitando aceitação de responsabilidade.
  • Impedindo a execução por meio de encerramento gracioso.
  • Apagando com segurança quaisquer dados sensíveis armazenados no dispositivo.
  • Reportando a um servidor backend, por exemplo, para detecção de fraudes.

Em seguida, trabalhe na contornação da detecção das ferramentas de engenharia reversa e responda às seguintes perguntas:

  • Os mecanismos podem ser contornados trivialmente (por exemplo, por meio do hooking de uma única função de API)?
  • Qual é o nível de dificuldade para identificar o código de anti-engenharia reversa por meio de análise estática e dinâmica?
  • Foi necessário escrever código personalizado para desativar as defesas? Quanto tempo foi necessário?
  • Qual é a sua avaliação sobre a dificuldade de contornar os mecanismos?

As seguintes etapas devem orientá-lo ao contornar a detecção de ferramentas de engenharia reversa:

  1. Aplique patch na funcionalidade de anti-engenharia reversa. Desative o comportamento indesejado simplesmente substituindo o bytecode ou código nativo associado por instruções NOP.
  2. Use Frida ou Xposed para fazer hooking de APIs do sistema de arquivos nas camadas Java e nativa. Retorne um handle para o arquivo original, não o arquivo modificado.
  3. Use um módulo do kernel para interceptar chamadas de sistema relacionadas a arquivos. Quando o processo tentar abrir o arquivo modificado, retorne um descritor de arquivo para a versão não modificada do arquivo.