Comparaison Mach-O
ABDiff peut comparer les binaires Mach-O dans un arbre structuré et en lecture seule. Cette vue est utile pour examiner cibles de plate-forme, dépendances et changements de surface API.
Démarrer une comparaison Mach-O
- Déposez deux binaires Mach-O dans la fenêtre pour ouvrir la vue de comparaison Mach-O.
- Déposez un fichier Mach-O sur un panneau pour remplacer juste ce côté.
Ce que montre la vue
- Un arbre à deux colonnes avec des contrôles d’indentation et de divulgation.
- Les différences sont mises en évidence en utilisant les mêmes couleurs ajoutées/supprimées/modifiées que les autres comparaisons.
- Un bouton de résumé compare les métadonnées clés (taille, tranches de processeur, version de plate-forme, nombre de segments, chemins d’exécution et exportations).
Structure arborescente
Chaque fichier Mach-O est regroupé par tranche d’architecture (par
exemple, Slice arm64) puis par catégorie :
- En-tête - CPU, type de fichier, drapeaux d’en-tête.
- Charger les commandes - plate-forme + min OS + versions SDK, dépendances dylib et rpaths.
- Candidats à l’API privée - signaux heuristiques provenant de cadres privés, de symboles importés, d’API de recherche d’exécution et de chaînes suspectes.
- Segments - segments de mise en page de la mémoire avec des descriptions facultatives.
- Exportations - symboles publics regroupés en symboles Swift Objective-C, C/C++, générés par le compilateur et démanglés.
Options d’affichage
Utilisez le menu des options de la barre inférieure pour personnaliser l’arbre :
- Afficher uniquement les différences cache les entrées égales tout en gardant les groupes d’ancêtres avec les changements.
- Afficher uniquement les API privées réduit l’arbre aux candidats d’API privées heuristiques tout en conservant leurs groupes d’ancêtres.
- Afficher les descriptions bascule les suffixes descriptifs pour la plupart des éléments.
Les candidats à l’API privée sont heuristiques. Ils peuvent montrer des preuves solides telles qu’un cadre privé lié, ou des signaux plus doux tels que des aides de recherche d’exécution et des littéraux de chaîne suspects.
Navigation au clavier
| Action | Raccourci |
|---|---|
| Ligne précédente / suivante | ↑ / ↓ |
| Changement précédent / suivant | ⌥↑ / ⌥↓ |
| Aller à la première / dernière ligne | ⌘↑ / ⌘↓ |
| Changer le volet actif | ⇥ |
| Groupe d’expansion / de réduction | → / ← |
⌥↑/⌥↓cible les lignes de feuilles changées et saute les lignes de groupe.- Si une ligne modifiée cible se trouve à l’intérieur de groupes réduits, les ancêtres sont automatiquement étendus.
- Sur les lignes de feuilles,
←/→ne change de volet que lorsque le volet cible a du contenu.
Comportement en lecture seule
La comparaison Mach-O est uniquement informationnelle. L’édition est désactivée.