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
15163 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, ) o nome funzione; filtra anche per categoria da un menu a tendina
Scarica lo strumento
5
  • 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.

    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—

    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, bsdthread_*, …)
    • GCD / workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
    • Framework Audit e MAC (audit_*, __mac_*)

    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.