Skip to content

MASTG-TEST-0083: Teste para Debugging Symbols

Deprecated Test

This test is deprecated and should not be used anymore. Reason: New version available in MASTG V2

Please check the following MASTG v2 tests that cover this v1 test:

Visão Geral

Análise Estática

Para verificar a existência de símbolos de depuração, você pode usar o objdump do binutils ou llvm-objdump para inspecionar todos os binários do aplicativo.

No trecho a seguir, executamos o objdump sobre TargetApp (o executável principal do app iOS) para mostrar a saída típica de um binário contendo símbolos de depuração, que são marcados com o flag d (debug). Consulte a página do manual do objdump para obter informações sobre vários outros caracteres de flag de símbolo.

$ objdump --syms TargetApp

0000000100007dc8 l    d  *UND* -[ViewController handleSubmitButton:]
000000010000809c l    d  *UND* -[ViewController touchesBegan:withEvent:]
0000000100008158 l    d  *UND* -[ViewController viewDidLoad]
...
000000010000916c l    d  *UND* _disable_gdb
00000001000091d8 l    d  *UND* _detect_injected_dylds
00000001000092a4 l    d  *UND* _isDebugged
...

Para evitar a inclusão de símbolos de depuração, defina Strip Debug Symbols During Copy como YES nas configurações de build do projeto do XCode. Remover os símbolos de depuração não apenas reduzirá o tamanho do binário, mas também aumentará a dificuldade de engenharia reversa.

Análise Dinâmica

A análise dinâmica não é aplicável para encontrar símbolos de depuração.