Pular para o conteúdo
Aback Tools Logo

Analisador de Binários Mach-O

Analise cabeçalhos de binários Mach-O, binários universais FAT, arquiteturas de CPU, comandos de carregamento, segmentos, secções e tabelas de símbolos - tudo no seu navegador. Suporta formatos Mach-O de 32 bits, 64 bits e FAT (universal) para macOS, iOS e todos os binários de plataformas Apple. Grátis, privado e sem cadastro.

Mach-O Binary Analyzer
Parse and analyze Mach-O binary headers including FAT (universal) binaries, 32-bit and 64-bit formats. Inspect CPU architectures, load commands, segments, sections, and symbol tables — all in your browser.
Load Example:
Or paste raw hex bytes or load an example above

Por que usar o nosso Analisador de Binários Mach-O?

  • Suporte completo ao formato Mach-O: analisa todas as variantes Mach-O, incluindo 32 bits (MH_MAGIC), 64 bits (MH_MAGIC_64) e binários universais FAT (FAT_MAGIC). Deteta automaticamente a ordem dos bytes (little/big endian) e lida tanto com binários simples como multi-arquitetura.
  • Deteção de arquiteturas de CPU: identifica todas as principais arquiteturas Apple, incluindo arm64 (Apple Silicon), x86_64 (Intel 64 bits), i386 (Intel 32 bits), ARM e PowerPC. Mostra o tipo e subtipo de CPU e detalhes específicos da arquitetura com descrições formatadas.
  • Inspetor de comandos de carregamento e segmentos: interpreta todos os comandos de carregamento (LC_SEGMENT, LC_SYMTAB, LC_UUID, LC_BUILD_VERSION, LC_MAIN e mais de 40). Mostra cada segmento com as suas secções, endereços virtuais, deslocamentos de ficheiro, flags de proteção e entradas de relocalização em tabelas ordenáveis.
  • 100% privado - sem carregamento obrigatório: toda a análise Mach-O acontece inteiramente no seu navegador. Carregue um binário ou cole dados hexadecimais - nada é enviado para nenhum servidor. Sem conta, sem cadastro e sem rastreamento. Exporte os resultados da análise por cópia ou descarga.

Casos de uso comuns do Analisador Mach-O

  • Análise de malware e engenharia reversa: os analistas de segurança usam o analisador Mach-O para inspecionar binários suspeitos de macOS e iOS. Detete se um binário é um universal FAT que esconde várias arquiteturas, inspecione os comandos de carregamento à procura de dependências dylib invulgares e examine os flags de secção em busca de permissões suspeitas, como regiões de memória graváveis e executáveis.
  • Verificação e integridade de binários: verifique se um binário Mach-O tem a arquitetura de CPU esperada, confirme o flag PIE (executável independente da posição), inspecione a presença de assinatura de código e valide a correspondência de UUID. É essencial para verificar pipelines de compilação e garantir a arquitetura correta.
  • Análise de símbolos de depuração e remoção: analise se um binário tem os símbolos removidos examinando o tamanho da tabela de símbolos e os comandos de carregamento. Detete pacotes dSYM associados, inspecione as entradas nlist para identificar os símbolos restantes e determine se o binário está assinado e notarizado.
  • Deteção de ofuscação e proteção: identifique binários Mach-O ofuscados ou protegidos detetando secções cifradas (LC_ENCRYPTION_INFO), verificando indicadores de fairplay/DRM, examinando atributos de secção invulgares e analisando anomalias na tabela de símbolos comuns em binários protegidos.
  • Validador de aplicações para a App Store de macOS/iOS: valide binários de aplicações iOS e macOS antes da submissão à App Store. Verifique as arquiteturas necessárias (arm64 para iOS, arm64 + x86_64 para binários universais de macOS), confirme o subtipo de CPU correto e inspecione os requisitos de versão mínima do sistema em cada fatia Mach-O.
  • Formação e investigação sobre o formato Mach-O: estudantes e investigadores podem explorar o formato de ficheiro Mach-O de forma interativa. Carregue binários de exemplo para ver como funciona a estrutura de cabeçalho Mach-O, compreender as cadeias de comandos de carregamento, explorar as relações segmento/secção e aprender sobre as entradas da tabela de símbolos nlist.

O que é um binário Mach-O?

Mach-O (Mach Object) é o formato executável nativo usado por macOS, iOS, iPadOS, watchOS e tvOS. Substituiu o antigo formato a.out e é o formato binário padrão de todos os sistemas operativos Apple. Todas as aplicações, frameworks, bibliotecas e ferramentas de linha de comandos nas plataformas Apple são empacotadas como binários Mach-O. O formato suporta várias arquiteturas de CPU num único ficheiro através do formato binário FAT (universal), com o número mágico 0xCAFEBABE. Os ficheiros Mach-O contêm um cabeçalho, uma cadeia de comandos de carregamento que descreve a estrutura do binário e os dados de segmento propriamente ditos (código, dados, tabelas de símbolos, etc.).

Como funciona o Analisador Mach-O

  1. Deteção da entrada: o analisador lê os 4 primeiros bytes (número mágico) para determinar o formato - 32 bits (0xFEEDFACE), 64 bits (0xFEEDFACF) ou universal FAT (0xCAFEBABE) - e deteta a ordem dos bytes (little-endian para Apple Silicon/Intel, big-endian para PowerPC).
  2. Análise do cabeçalho: o cabeçalho Mach-O é analisado para extrair o tipo de CPU, o subtipo de CPU, o tipo de ficheiro (executável, dylib, bundle, objeto, etc.), o número de comandos de carregamento e os flags do binário (PIE, NOUNDEFS, TWOLEVEL, etc.).
  3. Percurso dos comandos de carregamento: o analisador percorre a cadeia de comandos de carregamento e analisa cada comando conforme o seu tipo. Os comandos de segmento (LC_SEGMENT/LC_SEGMENT_64) contêm subtabelas de informação de secção. Outros comandos fornecem UUID, versões mínimas, referências à tabela de símbolos, deslocamentos de assinatura de código e mais.
  4. Extração da tabela de símbolos: se o binário tiver um comando LC_SYMTAB, o analisador lê as entradas nlist (struct nlist_64 para 64 bits) e resolve os nomes dos símbolos a partir da tabela de cadeias. Os primeiros 50 símbolos são apresentados com o seu tipo, número de secção, flags de descrição e valores de endereço.

Conceitos-chave do Mach-O

  • Binário FAT (universal): começa com a magia 0xCAFEBABE e contém várias fatias Mach-O para diferentes arquiteturas. Cada fatia tem o seu próprio tipo de CPU, deslocamento, tamanho e alinhamento. As aplicações iOS normalmente têm fatias arm64; os binários universais de macOS têm x86_64 + arm64 para Intel e Apple Silicon.
  • Comandos de carregamento: seguem imediatamente o cabeçalho Mach-O e descrevem a disposição do binário. LC_SEGMENT define as regiões de memória mapeadas a partir do ficheiro; LC_SYMTAB aponta para a tabela de símbolos; LC_UUID fornece um identificador único; LC_BUILD_VERSION especifica a plataforma de destino e a versão do SDK.
  • Segmentos e secções: os segmentos (__TEXT, __DATA, __LINKEDIT) mapeiam diretamente para regiões de memória. As secções dentro dos segmentos (__text, __cstring, __objc_methlist) contêm tipos específicos de conteúdo. Os flags de tipo de secção indicam se uma secção contém código, literais de cadeia, ponteiros para símbolos ou inicializadores.
  • Entradas de símbolo nlist: cada símbolo da tabela tem um nome (resolvido através da tabela de cadeias), um tipo (indefinido, absoluto, definido em secção ou indireto), um número de secção, flags de descrição e um valor/endereço. Os símbolos externos são marcados com N_EXT para a resolução da ligação dinâmica.

Privacidade e limitações técnicas

O analisador Mach-O processa todos os dados binários inteiramente no seu navegador com JavaScript. Nenhum dado é alguma vez carregado para qualquer servidor. O analisador interpreta o cabeçalho, os comandos de carregamento, as estruturas de segmentos e secções e a tabela de símbolos - mas não desmonta código executável, não descomprime binários protegidos nem desencripta ficheiros Mach-O cifrados. Os binários com DRM FairPlay (cifrados da App Store) mostrarão a informação de cifra, mas as suas secções de código não poderão ser lidas. Em binários muito grandes (mais de 500 MB), a análise pode ficar limitada pela memória do navegador. O analisador foi concebido para uso educativo, investigação de engenharia reversa e análise de segurança de ficheiros que tenha autorização legal para inspecionar.

Perguntas frequentes

Mach-O (Mach Object) é o formato executável nativo dos sistemas operativos da Apple (macOS, iOS, watchOS, tvOS). Usa os números mágicos 0xFEEDFACE (32 bits), 0xFEEDFACF (64 bits) e 0xCAFEBABE (binário universal FAT). Ao contrário de ELF (Linux/Android) e PE (Windows), o Mach-O suporta binários FAT com várias arquiteturas num único ficheiro e usa uma cadeia de comandos de carregamento para descrever a disposição do binário.

Verifique os primeiros quatro bytes (número mágico): 0xFEEDFACE para 32 bits, 0xFEEDFACF para 64 bits e 0xCAFEBABE para binários universais FAT. As extensões comuns incluem .o (objeto), .dylib (biblioteca dinâmica) e .bundle (pacote carregável). O nosso analisador deteta e reporta o formato automaticamente ao carregar o ficheiro.

Um binário FAT contém vários executáveis Mach-O para diferentes arquiteturas de CPU num único ficheiro. O cabeçalho FAT lista cada arquitetura com o seu tipo de CPU, deslocamento, tamanho e alinhamento. Ao carregar, o sistema operativo seleciona automaticamente a arquitetura correta. Isto permite distribuir um único binário que corre de forma nativa tanto em Macs Intel (x86_64) como Apple Silicon (arm64).

Os comandos de carregamento descrevem a disposição do binário: LC_SEGMENT define regiões de memória, LC_SYMTAB localiza a tabela de símbolos, LC_UUID fornece um identificador único, LC_BUILD_VERSION especifica a plataforma de destino e o SDK, LC_MAIN define o ponto de entrada, LC_ENCRYPTION_INFO indica o estado do DRM FairPlay e LC_CODE_SIGNATURE aponta para os dados de assinatura de código.

Sim. Deteta secções cifradas através de LC_ENCRYPTION_INFO (cryptid != 0), identifica binários sem símbolos através de tabelas de símbolos pequenas, sinaliza permissões suspeitas (segmentos graváveis e executáveis) e deteta nomes ou flags de secção invulgares. Também reporta o estado PIE, o DRM FairPlay e a presença de assinatura de código.

Absolutamente. Todo o processamento acontece localmente no seu navegador. Os seus dados binários nunca saem do seu dispositivo, nunca são enviados para nenhum servidor e nunca são guardados. Não é necessária conta. Pode analisar com segurança binários Mach-O proprietários, confidenciais ou sensíveis.

O analisador interpreta cabeçalhos, comandos de carregamento, disposições de segmentos e secções e tabelas de símbolos. Não desmonta código, não extrai recursos incorporados nem descompila o binário. Deteta sim a presença de metadados do ambiente de execução de Objective-C e Swift e de secções cstring.

O analisador suporta todas as arquiteturas Apple: arm64 (Apple Silicon), x86_64 (Intel 64 bits), i386 (Intel 32 bits), ARM (32 bits), PowerPC e PowerPC 64 bits. Os binários FAT com qualquer combinação destas arquiteturas são totalmente suportados.

Sim - 100% grátis, sem cadastro, sem conta, sem limites de utilização e sem níveis premium. Todas as funcionalidades, incluindo carregamento de ficheiros, entrada hexadecimal, análise FAT, descodificação de comandos de carregamento, inspeção de segmentos e extração da tabela de símbolos, estão disponíveis sem restrições.