Skip to content
KitploitKITPLOIT
FerramentasExploitsBlog
Log in
Enviar
FerramentasExploitsBlog
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
attesor — Engenharia reversa alimentada por IA da Rosetta (2 para Linux). Aviso: devido ao acordo do usuário, não tocarei no código. Tudo é feito por IA, então pode haver implementação bagunçada. | Kitploit
Ferramentas/GitHubGitHub/inokinoki/attesor
Engenharia ReversaSegurança de HardwareAnálise de BináriosAprendizado e EducaçãoEngenharia Reversa Assistida por IAAnálise de Firmware
GitHubinokinoki/attesor

attesor

Engenharia reversa alimentada por IA da Rosetta (2 para Linux). Aviso: devido ao acordo do usuário, não tocarei no código. Tudo é feito por IA, então pode haver implementação bagunçada.

Ver Repositório
72320há 1 mêsRevisado pelo Kitploit

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

Projeto de Engenharia Reversa do Rosetta 2

License: MIT Status

Um esforço abrangente de engenharia reversa para entender e documentar a tecnologia de tradução binária Rosetta 2 da Apple.

Índice

  1. Contexto
  2. O que é Rosetta?
  3. O que é Rosetta 2?
  4. Como a Apple Distribui o Rosetta 2 no macOS
  5. Arquitetura Técnica
  6. Este Projeto
  7. Estrutura de Arquivos
  8. Uso
  9. Progresso
  10. Referências

Contexto

A Transição de Arquitetura

Em novembro de 2020, a Apple anunciou seus primeiros Macs com Apple Silicon, marcando uma transição histórica dos processadores Intel x86_64 para seus próprios chips M1 baseados em ARM. Esta foi a terceira grande transição de arquitetura da Apple:

  1. 1994: Motorola 68000 -> PowerPC
  2. 2006: PowerPC -> Intel x86_64
  3. 2020: Intel x86_64 -> Apple Silicon (ARM64)

Cada transição exigiu uma solução de tradução binária para executar o software existente durante o período de migração. O Rosetta 2 é o sistema de tradução binária mais sofisticado da Apple até agora.


O que é Rosetta?

Rosetta (2006-2011) foi o primeiro software de tradução binária dinâmica da Apple, permitindo que aplicativos PowerPC rodassem em Macs baseados em Intel.

Principais Características:

  • Tradução Dinâmica: Traduzia código PowerPC para x86_64 em tempo de execução
  • Integração com o SO: Incorporado no Mac OS X 10.4 (Tiger) até o 10.6 (Snow Leopard)
  • Operação Transparente: Usuários abriam aplicativos PowerPC normalmente
  • Overhead de Desempenho: Tipicamente 20-50% mais lento que o código nativo

O Rosetta foi removido no Mac OS X 10.7 (Lion), completando a transição para Intel.


O que é Rosetta 2?

Rosetta 2 é a tecnologia avançada de tradução binária dinâmica da Apple que permite que aplicativos compilados para Intel x86_64 em Macs rodem em Macs Apple Silicon (ARM64).

Visão Geral da Arquitetura```

┌─────────────────────────────────────────────────────────────┐ │ User Application (x86_64) │ ├─────────────────────────────────────────────────────────────┤ │ Rosetta 2 Layer │ │ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │ │ │ Translator │ │ Runtime │ │ System Call │ │ │ │ (AOT/JIT) │ │ Library │ │ Translation │ │ │ └─────────────┘ └─────────────┘ └─────────────────────┘ │ ├─────────────────────────────────────────────────────────────┤ │ macOS Kernel (ARM64) │ ├─────────────────────────────────────────────────────────────┤ │ Apple Silicon Hardware │ └─────────────────────────────────────────────────────────────┘

### Tecnologias Chave

1. **Tradução Antecipada (AOT)**
   - Traduz binários x86_64 para ARM64 no momento da instalação
   - Armazena código traduzido em um cache para inicializações subsequentes mais rápidas
   - Reduz a sobrecarga em tempo de execução em comparação com a tradução JIT pura

2. **Tradução Just-in-Time (JIT)**
   - Traduz blocos de código sob demanda durante a execução
   - Lida com código carregado dinamicamente e código automodificável
   - Mantém cache de tradução para eficiência

3. **Tradução de Conjunto de Instruções**
   - Mapeamento de instruções x86_64 -> ARM64
   - Tradução de instruções vetoriais SSE/AVX -> NEON
   - Flags x86_64 -> Códigos de condição ARM64

4. **Tradução de Chamadas de Sistema**
   - Traduz chamadas de sistema x86_64 do macOS para equivalentes ARM64
   - Lida com diferentes convenções de chamada
   - Gerencia o estado dos registradores entre limites de chamadas de sistema

5. **Suporte em Tempo de Execução**
   - Emulação de detecção de recursos da CPU
   - Manipulação de armazenamento local de thread
   - Manipulação de sinais e exceções

---

## Como a Apple entrega o Rosetta 2 no macOS

### Local de Instalação

Rosetta 2 está localizado em:```
/Library/Apple/usr/libexec/oah/
├── rosetta        # Main translator binary
├── rosettad       # Rosetta daemon
└── librosetta.*   # Runtime libraries

O diretório oah significa "Hardware de Arquitetura Antiga" - uma continuação da era de transição PowerPC.

Instalação Automática

Em Macs com Apple Silicon, o Rosetta 2 não é instalado por padrão. Ele é ativado de duas maneiras:

  1. Primeira Solicitação de Inicialização ``` The "Rosetta" software is not installed on your Mac. Rosetta translates apps from Intel-based Macs for use on Apple Silicon Macs.
  2. Instalação via Linha de Comando ```bash softwareupdate --install-rosetta --agree-to-license

Componentes Entregues

ComponenteDescrição
RosettaLinux/rosettaBinário ARM64 principal contendo o motor de tradução
RosettaLinux/rosettadDaemon do sistema que gerencia serviços de tradução
debugserver -> /usr/libexec/rosetta/debugserverSuporte de depuração para processos traduzidos
libRosettaRuntimeBiblioteca de tempo de execução vinculada durante a tradução
translate_tool -> /usr/libexec/rosetta/translate_toolFerramenta de tradução para construir binários traduzidos

Integração com macOS

  1. Integração com launchd: O daemon Rosetta executa como um serviço do sistema
  2. Assinatura de Código: Binários traduzidos são assinados automaticamente
  3. Gatekeeper: Aplicativos traduzidos pelo Rosetta passam em verificações de segurança
  4. Proteção de Integridade do Sistema: Protegido contra modificações

Arquitetura Técnica

Processo de Tradução```

┌──────────────────────────────────────────────────────────────────┐ │ Phase 1: Binary Loading │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load x86_64 Mach-O binary │ │ 2. Parse segments, sections, symbols │ │ 3. Validate code signatures │ │ 4. Map into translation context │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 2: AOT Translation │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Disassemble x86_64 code sections │ │ 2. Translate instructions to ARM64 │ │ 3. Apply optimizations │ │ 4. Store in translation cache (~/.oah) │ └──────────────────────────────────────────────────────────────────┘ │ ▼ ┌──────────────────────────────────────────────────────────────────┐ │ Phase 3: Runtime Execution │ │ ─────────────────────────────────────────────────────────────── │ │ 1. Load translated ARM64 code │ │ 2. Set up x86_64 emulation context │ │ 3. Handle JIT translations for dynamic code │ │ 4. Translate syscalls on-the-fly │ └──────────────────────────────────────────────────────────────────┘

### Desafios Principais de Tradução

1. **Mapeamento de Registradores**
   - x86_64 possui 16 GPRs; ARM64 possui 31 GPRs
   - Registrador de flags do x86_64 -> Flags NZCV do ARM64
   - Emulação de RIP (ponteiro de instrução)
Baixar ferramenta