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
151há 2 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, 5) ou nome da função; também é possível filtrar por categoria em um menu suspenso
  • 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.


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, , …)

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.
Baixar ferramenta
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—
bsdthread_*
  • GCD / workqueue (workq_open, workq_kernreturn, kqueue_workloop_ctl, …)
  • Framework de auditoria e MAC (audit_*, __mac_*)