Introdução
O mundo do jailbreaking iOS tem visto uma evolução significativa, e entre os mais recentes e estáveis jailbreaks está o Dopamine — um jailbreak semi-desprendido para iOS 15 e 16. Neste post de blog, vamos caminhar através do que significa compilar o Dopamine a partir da fonte, por que você gostaria de fazer isso e as perspectivas que oferece sobre os internos do iOS e desenvolvimento de exploits.
Este post guiará você pelo motivo, o que você precisa e como compilar o Dopamine em seu Mac.
Por Que Compilar um Jailbreak?
Compilar um jailbreak não é apenas por diversão e serve a alguns propósitos poderosos:
- Entender Exploits em Tempo Real
Compondo o Dopamine, você tem acesso completo ao código e pode:
- Definir pontos de interrupção
- Inspecionar memória durante a execução
- Rastrear lógica do exploit passo a passo
Isto é inestimável se você está aprendendo exploração iOS ou deseja analisar como uma determinada vulnerabilidade está sendo aproveitada.
2. Explorar a Arquitetura
Um jailbreak não é apenas uma cadeia de exploits. É um ecossistema de:
- Exploits
- Payloads
- Moldes pós-exploitação
- Bibliotecas terceiras
Compondo o Dopamine ajuda você a ver como todos esses componentes interagem, incluindo escapes de sandbox, patches do kernel e demônios.
3. Depuração e Personalização
Ao construir a partir da fonte, você pode:
- Habilitar bandeiras de depuração
- Mudar o comportamento (por exemplo, injetar ajustes personalizados)
- Adicionar logging ou instrumentação
Isto é especialmente útil se você está construindo seus próprios PoCs ou modificando partes da cadeia de exploração.
Pré-Requisitos
Para acompanhar, você precisará:
- Git e familiaridade básica com linha de comando
- Theos: https://theos.dev/
- ldid do Procursus: https://github.com/ProcursusTeam/ldid
- Conta de desenvolvedor da Apple válida
- Xcode instalado (em um Mac)
- Um dispositivo iOS (vulnerável ao exploit de jailbreak sendo usado), e habilitado no modo Desenvolvedor
Passo 1: Instalar Procursus
Vá para o repositório oficial: https://github.com/ProcursusTeam/ldid
- Navegue até a seção de Releases
- Baixe o binário para seu SO (por exemplo,
ldid_macos_arm64ouldid_macos_x86_64) - Remova o LDID existente se presente, mova o binário baixado para seu caminho e faça-o executável
sudo rm -f $(which ldid)
sudo mv ~/Downloads/ldid_macos_x86_64 /usr/local/bin/ldid
sudo chmod +x /usr/local/bin/ldid
ldid -V
Passo 2: Instalar Theos
Theos é um conjunto de ferramentas multiplataforma para construir e implantar software para iOS, macOS e outras plataformas Apple — especialmente para dispositivos jailbreakados. É amplamente usado na comunidade de jailbreaking iOS para criar ajustes, aplicativos e demônios usando Objective-C, Swift ou Logos (uma DSL projetada para fazer ajustes iOS).
Theos é usado principalmente para:
- Criar ajustes de jailbreak para iOS
- Construir ferramentas da linha de comando, demônios ou aplicativos GUI que executam em dispositivos Apple
- Trabalhar fora do Xcode (por exemplo, via terminal), frequentemente necessário ao construir para ambientes jailbreakados
Você pode seguir o Guia em https://theos.dev/docs/installation para instalar Theos.
Passo 3: Clonar o Repositório do Jailbreak Dopamine
Para clonar o repositório do Dopamine junto com seus submódulos, você pode usar o seguinte comando.
Passo 4: Acesse a pasta Dopamine e execute make
cd Dopamine
make
O Theos pode reclamar sobre cabeçalhos xpc ausentes.
==> Preprocessing SpringBoard.x...
==> Compiling SpringBoard.x (arm64)...
==> Preprocessing cfprefsd.x...
==> Compiling cfprefsd.x (arm64)...
==> Preprocessing installd.x...
==> Compiling installd.x (arm64)...
==> Preprocessing lsd.x...
==> Compiling lsd.x (arm64)...
In file included from lsd.x:2:
In file included from ../include/libjailbreak/util.h:4:
../include/libjailbreak/info.h:8:10: fatal error: 'xpc/xpc.h' file not found
8 | #include <xpc/xpc.h>
| ^~~~~~~~~~~
1 error generated.
make[5]: *** [.../lsd.x.36aa6cb0.o] Error 1
make[4]: *** [.../rootlesshooks.dylib] Error 2
make[3]: *** [internal-library-all_] Error 2
make[2]: *** [rootlesshooks.all.tweak.variables] Error 2
make[1]: *** [rootlesshooks] Error 2
make: *** [all] Error 2
Para corrigir isso, você pode copiar a pasta xpc do seu SDK de desenvolvimento MacOS Xcode.
$ cp -r /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/usr/include/xpc $THEOS/include/
$ ls $THEOS/include/
xpc
$ ls $THEOS/include/xpc
XPC.apinotes base.h endpoint.h session.h xpc.h
activity.h connection.h listener.h
availability.h debug.h rich_error.h
$Ao seguir, os comandos de compilação falharam:
CpResource .../Dopamine.app/bootstrap_1900.tar.zst
.../Dopamine/Resources/bootstrap_1900.tar.zst (no alvo 'Dopamine' do projeto 'Dopamine')
CpResource .../Dopamine.app/bootstrap_1800.tar.zst
.../Dopamine/Resources/bootstrap_1800.tar.zst (no alvo 'Dopamine' do projeto 'Dopamine')
Compilando o projeto Dopamine com esquema Dopamine
(3 falhas)
make[1]: *** [build/Build/Products/Debug-iphoneos/Dopamine.app] Erro 65
make: *** [all] Erro 2
$ ls .../Dopamine.app
Assets.car basebin.tar sileo.deb
Frameworks basebin.tc zebra.deb
LICENSE_weightBufs.md libkrw-dopamine.deb libroot.deb
basebin-link.deb
Isto é devido à falta de arquivos BootStrap, e eles não estão presentes por padrão e precisam ser baixados separadamente. Para fazer isso, execute o script download_bootstraps.sh dentro da pasta Dopamine/Resources.
$ cd Dopamine/Resources
$ ls
LICENSE.md LICENSE_kfd.md
LICENSE_Cha0ma.md LICENSE_libc.md
LICENSE_ElleKit.md LICENSE_libgrabkernel2.md
LICENSE_Fugu15.md LICENSE_opainject.md
LICENSE_Fugu15_Rootful.md LICENSE_plooshinit.md
LICENSE_Procursus.md LICENSE_weightBufs.md
LICENSE_Sileo.md download_bootstraps.sh
LICENSE_XPF.md sileo.deb
LICENSE_Zebra.md zebra.deb
LICENSE_dimentio.md
$ ./download_bootstraps.sh
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
5 19.8M 5 1020k 0 0 462k 0:00:43 0:00:02 0:00:41 462k
A execução do comando make agora deve resultar em uma mensagem 'Compilação bem-sucedida'.
/Users/8ksec/Documents/WORK/Code/iOS/Dopamine/Application/Dopamine.xcodeproj: aviso: DEFINES_MODULE foi definido, mas nenhum cabeçalho de guarda universal pôde ser encontrado para gerar o módulo map (no alvo 'badRecovery' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'badRecovery' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'weightBufs' do projeto 'Dopamine')
nota: a fase de construção 'Executar Script' será executada em cada build porque a opção para executar a fase de script "Com base na análise de dependência" está desmarcada. (no alvo 'multicast_bytecopy' do projeto 'Dopamine')
** CONSTRUÇÃO COM SUCESSO **
Sinalização Ad-Hoc Dopamine
xattr -rc build/Build/Products/Debug-iphoneos/Dopamine.app
Passo 4: Executar o Dopamine no Xcode
Para abrir e executar o projeto Dopamine no Xcode, inicie o arquivo .xcodeproj localizado na pasta Application. No Xcode, selecione seu certificado de desenvolvedor Apple sob Sinalização & Capacidades para o projeto. Em seguida, verifique se a configuração alvo está definida como Dopamine no seletor de esquemas superior. Por fim, conecte seu dispositivo e clique em Executar (▶) para construir e iniciar o aplicativo em seu iPhone.
Há muitas técnicas incríveis e exploits embutidos neste jailbreak — variando desde escalada de privilégios até escapes de sandbox e patches no nível do kernel. Mas isso é um mergulho profundo melhor salvo para outro post de blog 😉

Considerações Finais
A compilação do Dopamine lhe dá experiência prática com um dos jailbreaks mais estáveis e modernos para iOS. É uma oportunidade de mergulhar profundamente na segurança do iOS, ajustar o comportamento de explorações e entender a ferramenta por trás de jailbreaks reais.
Seja você um pesquisador de segurança, engenheiro reverso ou entusiasta curioso do iOS — compilar seu próprio jailbreak irá aumentar significativamente suas habilidades.
Explore Nosso Catálogo de Cursos On-Demand
Se você está interessado em mergulhar mais fundo em tópicos como análise de kernel panic, pesquisa de vulnerabilidades e depuração no nível baixo do sistema, a Academia 8ksec oferece uma ampla gama de cursos on-demand adaptados para profissionais e entusiastas de segurança.
Acesse academy.8ksec.io para explorar nosso catálogo completo de cursos. Seja um iniciante ou um profissional experiente, você encontrará recursos para aprimorar suas habilidades e manter-se à frente no campo em rápida evolução da Segurança Móvel.
Sinta-se à vontade para entrar em contato conosco em support@ para perguntar qualquer dúvida relacionada aos nossos blogs ou quaisquer futuros blogs que você gostaria de ver.
Boa sorte!

