Mach-O-Vergleich
ABDiff kann Mach-O-Binärdateien in einem strukturierten, schreibgeschützten Baum vergleichen. Diese Ansicht ist nützlich für die Überprüfung von Plattformzielen, Abhängigkeiten und API-Oberflächenänderungen.
Mach-O-Vergleich starten
- Legen Sie zwei Mach-O-Binärdateien in das Fenster, um die Mach-O-Vergleichsansicht zu öffnen.
- Legen Sie eine Mach-O-Datei auf ein Fenster, um nur diese Seite zu ersetzen.
Was die Ansicht zeigt
- Ein zweispaltiger Baum mit Einrückungs- und Offenlegungssteuerungen.
- Unterschiede werden mit den gleichen hinzugefügten/entfernten/modifizierten Farben wie bei anderen Vergleichen hervorgehoben.
- Eine Zusammenfassungsschaltfläche vergleicht wichtige Metadaten (Größe, CPU-Schnitte, Plattformversion, Segmentanzahl, Laufzeitpfade und Exporte).
Baumstruktur
Jede Mach-O-Datei wird nach Architektur-Slice (z. B.
Slice arm64) und dann nach Kategorie gruppiert:
- Header - CPU, Dateityp, Header-Flags.
- Load-Befehle - Plattform + minimales Betriebssystem + SDK-Versionen, Dylib-Abhängigkeiten und Rpaths.
- Private API-Kandidaten – heuristische Signale von privaten Frameworks, importierten Symbolen, Laufzeit-Lookup-APIs und verdächtigen Zeichenfolgen.
- Segmente - Speicherlayout-Segmente mit optionalen Beschreibungen.
- Exporte - öffentliche Symbole gruppiert in Objective-C-, C/C++, vom Compiler generierten und demangierten Swift-Symbolen.
Ansichtsoptionen
Verwenden Sie das Optionsmenü der unteren leiste, um den Baum anzupassen:
- Nur Unterschiede anzeigen verbirgt gleiche Einträge, während Vorfahrengruppen mit Änderungen beibehalten werden.
- Nur private APIs anzeigen schränkt den Baum auf heuristische private API-Kandidaten ein, während ihre Vorfahrengruppen beibehalten werden.
- Beschreibungen anzeigen schaltet beschreibende Suffixe für die meisten Elemente um.
Private API-Kandidaten sind heuristisch. Sie können starke Beweise wie ein verknüpftes privates Framework oder weichere Signale wie Laufzeit-Lookup-Helfer und verdächtige String-Literale zeigen.
Tastaturnavigation
| Aktion | Abkürzung |
|---|---|
| Vorherige / nächste Zeile | ↑/↓ |
| Vorherige / nächste Änderung | ⌥↑ / ⌥↓ |
| Springe zur ersten / letzten Reihe | ⌘↑ / ⌘↓ |
| Aktiver Bereich umschalten | ⇥ |
| Gruppe erweitern / reduzieren | →/← |
⌥↑/⌥↓Ziele geänderte Blattreihen und überspringt Gruppenreihen.- Wenn sich eine geänderte Zielzeile innerhalb zusammengefasster Gruppen befindet, werden die Vorfahren automatisch erweitert.
- In Blattzeilen wechselt
←/→nur dann den Bereich, wenn der Zielbereich Inhalt hat.
Schreibgeschütztes Verhalten
Der Mach-O-Vergleich ist nur informativer. Die Bearbeitung ist deaktiviert.