MASTG-TEST-0219: Teste para Debugging Symbols
Visão Geral¶
Este caso de teste verifica a presença de símbolos de depuração em todos os binários contidos no aplicativo.
Os símbolos de depuração são adicionados pelo compilador para facilitar o desenvolvimento e permitir a symbolication de falhas. No entanto, eles também podem ser usados para engenharia reversa do aplicativo e não devem estar presentes em uma versão de lançamento. A symbolication também pode ser realizada com um arquivo dSYM separado.
Para gerenciar símbolos de depuração no Xcode, os desenvolvedores podem ajustar as seguintes configurações de compilação:
- Generate Debug Symbols: O Xcode adiciona símbolos de depuração se a configuração
"Build Settings" > "Apple Clang - Code Generation" > "Generate Debug Symbols"estiver definida como"Yes". - Debug Information Format: Encontrada em
"Build Settings" > "Build Options > "Debug Information Format", esta configuração determina o formato da informação de depuração. As opções incluem:- DWARF: Incorpora informações de depuração diretamente no binário.
- DWARF with dSYM File: Gera um arquivo dSYM separado contendo informações de depuração.
Observe que em aplicações iOS compiladas, os nomes de símbolos podem passar por name mangling (ofuscação de nomes) e técnicas adicionais de obfuscation (ofuscação) para ofuscá-los ainda mais, tornando a engenharia reversa mais desafiadora. Embora ferramentas de demangling possam decodificar nomes ofuscados padrão (ver Desofuscação de Símbolos), elas podem não reverter efetivamente métodos de ofuscação personalizados.
Etapas¶
- Aplique Explorando o Pacote do App para extrair o conteúdo do arquivo IPA.
- Para todos os executáveis e bibliotecas do aplicativo, use Obtendo Símbolos de Depuração para verificar se não há símbolos de depuração presentes.
Observação¶
A saída deve conter uma lista de símbolos para cada executável e biblioteca.
Avaliação¶
O teste falha se houver símbolos marcados como símbolos de depuração na saída.
Antes de lançar um aplicativo iOS, verifique se a configuração "Build Settings" > "Apple Clang - Code Generation" > "Generate Debug Symbols" está definida como "No". Além disso, utilize ferramentas como as usadas em Obtendo Símbolos de Depuração para inspecionar os binários finais em busca de quaisquer símbolos de depuração residuais.
Para versões de lançamento, é aconselhável definir "Build Settings" > "Build Options > "Debug Information Format" como "DWARF with dSYM File" e garantir que os arquivos dSYM sejam armazenados com segurança e não distribuídos com o aplicativo. Esta abordagem facilita a análise de falhas pós-lançamento sem expor os símbolos de depuração no binário distribuído.