Skip to content
KitploitKITPLOIT
ToolsBlog
Einreichen
ToolsBlog
Einreichen

Hacking-, PenTest- und Cybersicherheits-Tools für Ihr Sicherheitsarsenal!

Kitploit ist ein Verzeichnis von Hacking-, Cybersicherheits- und Pentesting-Tools. Entdecken Sie die neuesten Projekt-Updates, um Schwachstellen zu finden, Systeme zu analysieren, Tests zu automatisieren und Ihre Sicherheit zu stärken.

··Feeds·Kontakt·Datenschutz·© 2026 Kitploit

Tool-Verzeichnis

Kategorien

Alle Kategorien anzeigen
Loading categories
sylvia — iOS Syscall Explorer für IDA 9.X | Kitploit
Tools/GitHubGitHub/stolevchristian/sylvia
Statische AnalyseiOS-SicherheitSchwachstellenanalyseReverse EngineeringDebuggerInformationsbeschaffungMobile SicherheitBinäranalyse
GitHubstolevchristian/sylvia

sylvia

iOS Syscall Explorer für IDA 9.X

Repository anzeigen
151vor 2 MonatenNoch nicht geprüft

Beliebteste

Alle anzeigen →

Entdecken Sie die meistgenutzten Tools unserer Community.

Alle Tools erkunden

Durchsuchen Sie unsere Tool-Sammlung

Alle Tools anzeigen →
Teilen

iOS AArch64 Syscall Analyzer

Ein IDA-Pro-Skript, das ein AArch64-Binary nach SVC-Instruktionen durchsucht, die BSD-Syscall-Nummer aus dem X16-Register ermittelt und jedes Ergebnis in einer umfangreichen andockbaren Benutzeroberfläche präsentiert – mit Navigation zu den einzelnen Vorkommen jedes Syscalls und Live-Abruf der Man-Pages.

Entwickelt für das Reverse Engineering von iOS / macOS mit IDA Pro 9.x. Der einzige Grund für die Erstellung war das Reverse Engineering von iOS-Plattformen mit Anti-Manipulationsmaßnahmen bis hinab zu den Syscalls. Ich hatte es satt, die Syscalls auf der Konsole auszugeben, und wollte etwas, das man sich angenehm ansehen kann und das gleichzeitig Live-Dokumentation abruft.

Diese gesamte ReadMe ist KI-generiert, ebenso wie die meisten Teile des Skripts. Ich habe die Basis dafür geschrieben und dann Claude Opus 4.7 seine Magie entfalten lassen, um alles mit einer schönen Benutzeroberfläche zusammenzuführen.


Features

  • Vollständiger Binary-Scan — findet jede SVC #0x80-Instruktion und ermittelt das MOV X16, #num-Setup bis zu 8 Instruktionen zurück
  • Syscall-Karte mit 556 Einträgen — vollständige iOS/macOS-AArch64-BSD-Syscall-Tabelle (Darwin XNU)
  • 9 farbcodierte Kategorien — File I/O, Network, Memory, Process, Threading, IPC, Security, Time, Misc; die Farben verwenden IDAs eigene Disassembler-Farbpalette
  • Andockbares Panel — lebt innerhalb von IDA wie ein natives Werkzeug; führen Sie das Skript erneut aus, um dasselbe Fenster wieder zu fokussieren
  • Echtzeit-Filter — Suche nach Name, Nummer (0x5, 5) oder Funktionsname; zusätzlich Filter nach Kategorie über ein Dropdown-Menü
  • Vorkommenstabelle — listet jede Adresse und RVA, an der ein bestimmter Syscall vorkommt, sortiert auf; Doppelklick oder Enter springt zu dieser Adresse in IDA
  • Live-Dokumentation — ruft die vollständige man 2-Seite in einem Hintergrundthread von man.freebsd.org ab (Darwin basiert auf BSD); Ergebnisse werden pro Sitzung zwischengespeichert
  • Eingebaute Beschreibungen — für ~250 Syscalls ist eine einzeilige Beschreibung sofort ohne Netzwerkanfrage verfügbar
  • JSON-Export — schreibt alle gefundenen Syscalls (Name, Nummer, Adresse, RVA, Funktion, Kategorie) in eine JSON-Datei
  • Kontextmenüs per Rechtsklick — Name kopieren, Nummer kopieren, zum ersten Vorkommen springen, Man-Page abrufen (Syscall-Tabelle); Adresse kopieren, Funktionsnamen kopieren (Vorkommenstabelle)
  • Tastaturkürzel — Ctrl+F fokussiert das Suchfeld; Enter bei einem ausgewählten Vorkommen navigiert dorthin

Voraussetzungen

AnforderungVersion
IDA Pro9.x (auf 9.3 getestet)
Pythonist in IDA enthalten
PySide6wird mit IDA 9 mitgeliefert
requestsoptional — nur für den Abruf der Man-Pages erforderlich

PyQt5-Fallback — das Skript funktioniert auch mit IDAs PyQt5-Shim für ältere Versionen.

Um requests in IDAs Python-Umgebung zu installieren, führen Sie dies in IDAs Python-Konsole aus:

root@kitploit:~
import subprocess, sys
subprocess.run([sys.executable, "-m", "pip", "install", "requests"])

Installation

  1. Kopieren Sie syscall_ios.py an einen beliebigen Ort auf Ihrem Rechner.
  2. Öffnen Sie Ihr Ziel-Binary in IDA Pro.
  3. Führen Sie das Skript über File → Script file… aus oder ziehen Sie es in das IDA-Fenster.

Das Analyzer-Panel öffnet sich automatisch und beginnt mit dem Scannen.


Verwendung

Das Skript ausführen

root@kitploit:~
File → Script file… → syscall_ios.py

Oder verwenden Sie IDAs Script command (Shift+F2), um den Code direkt einzufügen und auszuführen.

Panel-Übersicht

Abb. 1 Abb. 2


Farbreferenz der Kategorien

Die Farben spiegeln IDA Pros eigene Disassembler-Hervorhebungspalette wider, damit sich die Ausgabe nativ anfühlt.


Exportformat

Export JSON erzeugt eine Datei wie:

root@kitploit:~
[
  {
    "name": "read",
    "number": 3,
    "number_hex": "0x3",
    "address": "0x1001a4bc",
    "rva": "0x4bc",
    "function": "sub_1001A0000",
    "category": "File I/O"
  },
  ...
]

Syscall-Abdeckung

Die eingebettete Tabelle umfasst 556 Syscalls aus der Darwin/XNU-BSD-Ebene (Klasse 0x2000000), darunter:

  • Standard-POSIX (read, write, open, mmap, socket, …)
  • Darwin-Erweiterungen (csops, guarded_open_np, memorystatus_control, kevent_qos, …)
  • iOS-spezifische (pid_hibernate, abort_with_payload, necp_*, os_fault_with_payload, …)
  • Pthread-Kernel-Unterstützung (psynch_mutexwait, psynch_cvwait, , …)

Mach-Traps und libsystem-Wrapper, die über eine andere Trap-Klasse laufen, sind nicht enthalten — abgedeckt wird nur die BSD-Klasse (SVC #0x80 mit X16 = 0x2000000 | num).


Hinweise

  • Die Syscall-Nummer wird ermittelt, indem von der SVC-Instruktion rückwärts innerhalb von 8 Instruktionen nach einem MOV X16, #imm gesucht wird. Indirekte Ladevorgänge (z. B. LDR X16, [...]) werden als UNKNOWN angezeigt.
  • Die Konstante SLIDE am Anfang der Datei hat keinen Einfluss auf die angezeigten Adressen — sie dient als Kommentar-Referenz zur Korrelation mit einer laufenden lldb-Sitzung.
  • Ein erneuter Scan führt die vollständige Analyse des aktuell geladenen Binaries erneut aus; zuvor abgerufene Man-Pages bleiben zwischengespeichert.
Tool herunterladen
KategorieFarbeIDA-Äquivalent
File I/O#4EC9B0Typ / Struktur
Network#569CD6Schlüsselwort
Memory#DCDCAAFunktionsname
Process#CE9178String-Literal
Threading#9CDCFEVariable
IPC#C586C0Enum / Makro
Security#F44747Fehler / Warnung
Time#6A9955Kommentar
Misc#858585—
bsdthread_*
  • GCD / Workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
  • Audit- und MAC-Framework (audit_*, __mac_*)