Skip to content
KitploitKITPLOIT
StrumentiBlog
Invia
StrumentiBlog
Invia

Strumenti di Hacking, PenTest e Cybersecurity per il tuo Arsenale di Sicurezza!

Kitploit è una directory di strumenti di hacking, cybersecurity e pentesting. Scopri gli ultimi aggiornamenti dei progetti per trovare vulnerabilità, analizzare sistemi, automatizzare i test e rafforzare la tua sicurezza.

··Feed·Contatto·Privacy·© 2026 Kitploit

Directory degli strumenti

Categorie

Vedi tutte le categorie
Loading categories
sylvia — iOS Syscall Explorer per IDA 9.X | Kitploit
Strumenti/GitHubGitHub/stolevchristian/sylvia
Analisi StaticaSicurezza iOSAnalisi delle VulnerabilitàReverse EngineeringDebuggerRaccolta InformazioniSicurezza MobileAnalisi di Binari
GitHubstolevchristian/sylvia

sylvia

iOS Syscall Explorer per IDA 9.X

Vedi Repository
1512 mesi faNon ancora revisionato

Più Popolari

Vedi tutti →

Scopri gli strumenti più utilizzati dalla nostra community.

Esplora tutti gli strumenti

Sfoglia la nostra collezione di strumenti

Vedi tutti gli strumenti →
Condividi

iOS AArch64 Syscall Analyzer

Uno script IDA Pro che analizza un binario AArch64 alla ricerca di istruzioni SVC, risolve il numero di syscall BSD dal registro X16 e presenta ogni risultato in una ricca interfaccia ancorabile, con navigazione tra le occorrenze di ogni syscall e recupero live della documentazione man-page.

Progettato per il reverse engineering di iOS / macOS su IDA Pro 9.x. L'unico motivo per cui l'ho creato è stato il reverse engineering di piattaforme iOS con misure anti-tamper che arrivano fino al livello delle syscall. Mi ero stancato di stampare le syscall sulla console e volevo qualcosa di gradevole da guardare che, allo stesso tempo, recuperasse la documentazione live.

Questa intera ReadMe è generata dall'IA, così come la maggior parte dello script. Avevo scritto la base e poi ho lasciato che Claude Opus 4.7 facesse la sua magia per mettere tutto insieme con una bellissima interfaccia utente.


Funzionalità

  • Scansione completa del binario — trova ogni istruzione SVC #0x80 e risale alla configurazione MOV X16, #num fino a 8 istruzioni indietro
  • Mappa syscall a 556 voci — tabella completa delle syscall BSD AArch64 iOS/macOS (Darwin XNU)
  • 9 categorie con codice colore — File I/O, Network, Memory, Process, Threading, IPC, Security, Time, Misc; i colori riutilizzano la palette di disassemblaggio di IDA
  • Pannello ancorabile — vive dentro IDA come uno strumento nativo; riesegui lo script per riportare il focus sulla stessa finestra
  • Filtro in tempo reale — cerca per nome, numero (0x5, 5) o nome funzione; filtra anche per categoria da un menu a tendina
  • Tabella delle occorrenze — elenca tutti gli indirizzi e le RVA in cui compare una data syscall, ordinati; fai doppio clic o premi Enter per saltare a quell'indirizzo in IDA
  • Documentazione live — recupera l'intera pagina man 2 da man.freebsd.org in un thread in background (Darwin deriva da BSD); i risultati vengono memorizzati nella cache per sessione
  • Descrizioni integrate — ~250 syscall hanno una descrizione di una riga disponibile immediatamente, senza richieste di rete
  • Esporta JSON — esporta tutte le syscall trovate (nome, numero, indirizzo, RVA, funzione, categoria) in un file JSON
  • Menu contestuali con il tasto destro — copia nome, copia numero, salta alla prima occorrenza, recupera man page (tabella syscall); copia indirizzo, copia nome funzione (tabella occorrenze)
  • Scorciatoie da tastiera — Ctrl+F porta il focus sulla casella di ricerca; Enter su un'occorrenza selezionata salta a essa

Requisiti

RequisitoVersione
IDA Pro9.x (testato su 9.3)
Pythonincluso con IDA
PySide6fornito con IDA 9
requestsopzionale — necessario solo per il recupero delle man page

Fallback PyQt5 — lo script funziona anche con lo shim PyQt5 di IDA per le versioni precedenti.

Per installare requests nell'ambiente Python di IDA, esegui questo nella console Python di IDA:

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

Installazione

  1. Copia syscall_ios.py in qualsiasi posizione sul tuo computer.
  2. Apri il binario di destinazione in IDA Pro.
  3. Esegui lo script tramite File → Script file… oppure trascinalo nella finestra di IDA.

Il pannello dell'analizzatore si apre automaticamente e inizia la scansione.


Utilizzo

Esecuzione dello script

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

Oppure usa il comando Script di IDA (Shift+F2) per incollare ed eseguire direttamente.

Panoramica del pannello

Pic 1 Pic 2


Riferimento Colori delle Categorie

I colori rispecchiano la palette di evidenziazione del disassemblatore di IDA Pro, così l'output risulta nativo.


Formato di Esportazione

Esporta JSON genera un file come questo:

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

Copertura delle Syscall

La tabella integrata copre 556 syscall del layer BSD Darwin/XNU (classe 0x2000000), tra cui:

  • POSIX standard (read, write, open, mmap, socket, …)
  • Estensioni Darwin (csops, guarded_open_np, memorystatus_control, kevent_qos, …)
  • Specifiche iOS (pid_hibernate, abort_with_payload, necp_*, os_fault_with_payload, …)
  • Assist kernel Pthread (psynch_mutexwait, psynch_cvwait, , …)

Le Mach trap e i wrapper libsystem che passano attraverso una classe di trap diversa non sono inclusi — qui è coperta solo la classe BSD (SVC #0x80 con X16 = 0x2000000 | num).


Note

  • Il numero di syscall viene risolto scansionando all'indietro dall'istruzione SVC alla ricerca di MOV X16, #imm entro 8 istruzioni. I caricamenti indiretti (ad es. LDR X16, [...]) verranno mostrati come UNKNOWN.
  • La costante SLIDE all'inizio del file non ha alcun effetto sugli indirizzi visualizzati — viene mantenuta come riferimento nei commenti per la correlazione con una sessione lldb live.
  • Una nuova scansione riesegue l'analisi completa sul binario attualmente caricato; le man page già recuperate restano nella cache.
Scarica lo strumento
CategoriaColoreEquivalente IDA
File I/O#4EC9B0Tipo / struct
Network#569CD6Parola chiave
Memory#DCDCAANome funzione
Process#CE9178Stringa letterale
Threading#9CDCFEVariabile
IPC#C586C0Enum / macro
Security#F44747Errore / avviso
Time#6A9955Commento
Misc#858585—
bsdthread_*
  • GCD / workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
  • Framework Audit e MAC (audit_*, __mac_*)