Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
Enviar

Ferramentas de Hacking, PenTest e Cibersegurança para o seu Arsenal de Segurança!

Kitploit é um diretório de ferramentas de hacking, cibersegurança e pentesting. Descubra as últimas atualizações de projetos para encontrar vulnerabilidades, analisar sistemas, automatizar testes e fortalecer sua segurança.

··Feeds·Contato·Privacidade·© 2026 Kitploit

Diretório de Ferramentas

Categorias

Ver todas as categorias
Loading categories
sylvia — Explorador de Syscalls iOS para IDA 9.X | Kitploit
Ferramentas/GitHubGitHub/stolevchristian/sylvia
Análise EstáticaSegurança iOSAnálise de VulnerabilidadesEngenharia ReversaDepuradoresColeta de InformaçõesSegurança MóvelAnálise de Binários
GitHubstolevchristian/sylvia

sylvia

Explorador de Syscalls iOS para IDA 9.X

Ver Repositório
1516há 3 mesesAinda não revisado

Mais Populares

Ver todos →

Descubra as ferramentas mais usadas pela nossa comunidade.

Explore todas as ferramentas

Navegue pela nossa coleção de ferramentas

Ver todas as ferramentas →
Compartilhar

iOS AArch64 Syscall Analyzer

Um script do IDA Pro que verifica um binário AArch64 em busca de instruções SVC, resolve o número da syscall BSD a partir do registrador X16 e apresenta todos os resultados em uma interface rica e encaixável, com navegação por ocorrência de syscall e busca de documentação man-page em tempo real.

Desenvolvido para engenharia reversa de iOS / macOS no IDA Pro 9.x. O único motivo pelo qual criei isto foi para a engenharia reversa de plataformas iOS com medidas anti-adulteração que chegam até as syscalls. Eu estava cansado de imprimir as syscalls no console e queria algo razoável de se olhar e que, ao mesmo tempo, buscasse documentação em tempo real.

Todo este ReadMe foi gerado por IA, assim como a maior parte do script. Eu escrevi a base e depois deixei o Claude Opus 4.7 fazer sua mágica para unir tudo com uma bela interface de usuário.


Recursos

  • Verificação completa do binário — encontra todas as instruções SVC #0x80 e resolve a configuração MOV X16, #num até 8 instruções antes
  • Mapa de syscalls com 556 entradas — tabela completa de syscalls BSD AArch64 do iOS/macOS (Darwin XNU)
  • 9 categorias codificadas por cores — File I/O, Network, Memory, Process, Threading, IPC, Security, Time, Misc; as cores reutilizam a paleta de desmontagem do próprio IDA
  • Painel encaixável — permanece dentro do IDA como uma ferramenta nativa; execute o script novamente para focar a mesma janela
  • Filtro em tempo real — pesquise por nome, número (0x5, ) ou nome da função; também é possível filtrar por categoria em um menu suspenso
Baixar ferramenta
5
  • Tabela de ocorrências — lista, de forma ordenada, todos os endereços e RVAs onde uma determinada syscall aparece; clique duas vezes ou pressione Enter para saltar para esse endereço no IDA
  • Documentação em tempo real — busca a página completa do man 2 em man.freebsd.org em uma thread em segundo plano (o Darwin é derivado do BSD); os resultados ficam em cache por sessão
  • Descrições integradas — cerca de 250 syscalls têm uma descrição de uma linha disponível imediatamente, sem requisição de rede
  • Exportar JSON — grava todas as syscalls encontradas (nome, número, endereço, RVA, função, categoria) em um arquivo JSON
  • Menus de contexto do botão direito — copiar nome, copiar número, ir para a primeira ocorrência, buscar página man (tabela de syscalls); copiar endereço, copiar nome da função (tabela de ocorrências)
  • Atalhos de teclado — Ctrl+F foca a caixa de busca; Enter em uma ocorrência selecionada navega até ela

  • Requisitos

    RequisitoVersão
    IDA Pro9.x (testado na 9.3)
    Pythonincluído com o IDA
    PySide6acompanha o IDA 9
    requestsopcional — necessário apenas para buscar páginas man

    Fallback PyQt5 — o script também funciona com o shim PyQt5 do IDA para versões mais antigas.

    Para instalar o requests no ambiente Python do IDA, execute o seguinte no console Python do IDA:

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

    Instalação

    1. Copie o syscall_ios.py para qualquer lugar da sua máquina.
    2. Abra o binário alvo no IDA Pro.
    3. Execute o script por meio de File → Script file… ou arraste-o para a janela do IDA.

    O painel do analisador abre automaticamente e inicia a verificação.


    Uso

    Executando o script

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

    Ou use o Script command do IDA (Shift+F2) para colar e executar diretamente.

    Visão geral do painel

    Pic 1 Pic 2


    Referência de Cores por Categoria

    As cores espelham a paleta de realce de desmontagem do próprio IDA Pro para que a saída pareça nativa.

    CategoriaCorEquivalente no IDA
    File I/O#4EC9B0Tipo / struct
    Network#569CD6Palavra-chave
    Memory#DCDCAANome de função
    Process#CE9178Literal de string
    Threading#9CDCFEVariável
    IPC#C586C0Enum / macro
    Security#F44747Erro / aviso
    Time#6A9955Comentário
    Misc#858585—

    Formato de Exportação

    Exportar JSON gera um arquivo como:

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

    Cobertura de Syscalls

    A tabela embutida cobre 556 syscalls da camada BSD do Darwin/XNU (classe 0x2000000), incluindo:

    • POSIX padrão (read, write, open, mmap, socket, …)
    • Extensões do Darwin (csops, guarded_open_np, memorystatus_control, kevent_qos, …)
    • Específicas do iOS (pid_hibernate, abort_with_payload, necp_*, os_fault_with_payload, …)
    • Assistentes de kernel do Pthread (psynch_mutexwait, psynch_cvwait, bsdthread_*, …)
    • GCD / workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
    • Framework de auditoria e MAC (audit_*, __mac_*)

    As Mach traps e os wrappers do libsystem que passam por uma classe de trap diferente não estão incluídos — esta cobertura abrange apenas a classe BSD (SVC #0x80 com X16 = 0x2000000 | num).


    Notas

    • O número da syscall é resolvido varrendo para trás a partir da instrução SVC em busca de um MOV X16, #imm dentro de 8 instruções. Cargas indiretas (ex.: LDR X16, [...]) serão exibidas como UNKNOWN.
    • A constante SLIDE no topo do arquivo não tem efeito sobre os endereços exibidos — ela é mantida como referência de comentário para correlação com uma sessão ativa do lldb.
    • Reexecutar a verificação roda novamente a análise completa no binário atualmente carregado; as páginas man buscadas anteriormente permanecem em cache.