Neste repositório, você encontrará as ferramentas que desenvolvemos durante nossa pesquisa para nos ajudar a engenharia reversa e também explorar a implementação do TrustZone pela Samsung, que é baseada em um sistema operacional confiável chamado Kinibi.
Nas bindings/ pasta, você encontrará ligações Python para a biblioteca libMcClient.so que é usada para se comunicar com aplicativos confiáveis e drivers seguros. Eles foram desenvolvidos porque achamos mais fácil escrever nossas façanhas em Python, e se mostraram especialmente úteis para os exercícios dados durante nossas sessões de treinamento.
No emulator/ pasta, você encontrará um script python que utiliza o mecanismo unicórnio para imitar uma confiável. Essa ferramenta foi usada principalmente para testar nossas explorações, pois pode imprimir as instruções executadas, registrar valores e empilhar conteúdo.
Na fuzzer/ Pasta, você encontrará um script python que utiliza o projeto afl-unicorn para confiar confidentes. É fortemente baseado no emulador. Você precisará implementar mais TLAPIS/DRAPIS se pretender fazer um pouco de difamação.
Na scripts/ pasta, você encontrará várias coisas:
mclf_loader , um carregador para binários de trustlet usando o formato de arquivo mclftbase_loader , um carregador que extrai os vários componentes de uma imagem SBOOTfind_symbols , um script que encontra e renomeia os vários stubs Tlapis/Drapis em Trustletsfind_symbols_mclib , um script que encontra e renomeia as várias funções TLAPIS/DRAPIS dentro do McLibOs scripts estão disponíveis para o IDA Pro e Ghidra, pois queríamos que nossos estagiários pudessem usar um SRE gratuito.
Na tainting/ pasta, você encontrará um script python que faz uso de Manticore para encontrar vulnerabilidades em fidores de confiança usando a execução simbólica. Este foi apenas um experimento, então o script é realmente básico.