Rétro-ingénierie macOS / Mach-O
ACTION REQUISE (à lire et exécuter immédiatement)
MAINTENANT: Lire../field-journal/precedent-reverse.mdMAINTENANT: Confirmer que la cible est macOS/Mach-O/App bundle (iOS IPA →mobile-reverse/)SUIVANT: tool-index ; jtool2/lldb etc.AGIR: Signature et chargement → Statique → Dynamique (lldb/Frida)
Cas d'utilisation
- Exécutable Mach-O / dylib / framework
- Bundle .app, LaunchAgent/Daemon
- Symboles et runtime Objective-C / Swift
- Analyse de notarisation/signature, Hardened Runtime, comportements TCC
- Analyse statique/dynamique de logiciels malveillants macOS (conjointement avec malware-analysis)
Workflow
1. Bundle et signature
file target
codesign -dv --verbose=4 target
spctl -a -vv target 2>&1
otool -L target
2. Statique
□ class-dump / swift-demangle / Hopper / Ghidra / IDA
□ Chaînes de caractères et noms de services XPC, APIs sensibles TCC
□ Dépendances LC_LOAD_dylib et rpath
3. Dynamique
□ lldb / Frida
□ fs_usage / log stream observation
□ Réseau : conjointement avec protocol-reverse ou proxy
Chaîne d'outils
| Outil | Utilisation |
|---|---|
| otool / nm / codesign | Système intégré |
| Hopper / Ghidra / IDA | Décompilation |
| class-dump / dsdump | ObjC |
| Frida / lldb | Dynamique |
| jtool2 | Mach-O |
Références
references/macho-triage.md../mobile-reverse/(iOS)../ghidra-reverse/../malware-analysis/
Contexte d'acheminement
Amont: MASTER R31
Aval: iOS → mobile-reverse ; échantillon général → malware-analysis
Auto-vérification de fin de tâche
- L'état de la signature/Hardened Runtime a-t-il été enregistré ?
- Y a-t-il des conclusions au niveau adresse/symbole ?
- Checklist ?