macOS / Engenharia Reversa Mach-O
AÇÃO REQUERIDA (leia e execute imediatamente)
AGORA: Leia../field-journal/precedent-reverse.mdAGORA: Confirme que o alvo é macOS/Mach-O/App bundle (IPA do iOS →mobile-reverse/)PRÓXIMO: tool-index; jtool2/lldb etc.AGIR: Assinatura e informações de carregamento → Estático → Dinâmico (lldb/Frida)
Cenários de Aplicação
- Executável Mach-O / dylib / framework
- .app bundle, LaunchAgent/Daemon
- Objective-C / Swift símbolos e runtime
- Análise de notarização/assinatura, Hardened Runtime, comportamento relacionado a TCC
- Análise estática/dinâmica de malware macOS (em conjunto com malware-analysis)
Fluxo de Trabalho
1. Pacote e Assinatura
file target
codesign -dv --verbose=4 target
spctl -a -vv target 2>&1
otool -L target
2. Estático
□ class-dump / swift-demangle / Hopper / Ghidra / IDA
□ Strings e nomes de serviços XPC, APIs sensíveis a TCC
□ Dependências LC_LOAD_dylib e rpath
3. Dinâmico
□ lldb / Frida
□ fs_usage / log stream para observação
□ Rede: em conjunto com protocol-reverse ou proxy
Cadeia de Ferramentas
| Ferramenta | Uso |
|---|---|
| otool / nm / codesign | Nativo do sistema |
| Hopper / Ghidra / IDA | Decompilação |
| class-dump / dsdump | ObjC |
| Frida / lldb | Dinâmico |
| jtool2 | Mach-O |
Referências
references/macho-triage.md../mobile-reverse/(iOS)../ghidra-reverse/../malware-analysis/
Contexto de Roteamento
Upstream: MASTER R31
Downstream: iOS → mobile-reverse; amostras gerais → malware-analysis
Auto-Verificação de Tarefa Concluída
- O estado da assinatura/Hardened Runtime foi registrado?
- Há conclusões em nível de endereço/símbolo?
- Checklist?