Engenharia reversa de Android incrível

Uma lista com curadoria de treinamento, recursos e ferramentas de engenharia reversa impressionantes do Android.
Como usar
A Awesome-Android-Reverse-Engineering é uma lista incrível para pessoas que trabalham para desmontar aplicativos, sistemas ou componentes do Android. Basta pressionar ctrl + F para procurar uma palavra-chave, passar pelo menu Conteúdo ou procurar um '' '' 'indicando alguns recursos excelentes e atualizados.
Conteúdo
- Treinamento
- Cursos e material
- Vídeos
- Livros
- Ferramentas
- Ferramentas de análise estática
- Ferramentas de análise dinâmica
- Decompilistas
- Análise de malware
- Recursos
- Documentação
- Estudos de caso
- CTFs e Crackme's
- Misc
Treinamento
Cursos e material
- ☆ Maddie Stone Android Reverse Engineering Training - Um curso abrangente de treinamento on -line sobre engenharia reversa do Android por Maddie Stone.
- Introdução à montagem da Azinheria Labs - cobrindo tudo, desde tipos de dados, registros, conjunto de instruções do braço, instruções de memória e mais
- Teste de penetração do Android a partir de #Todo - Este curso fará você desenvolver um conhecimento de linha de base do que está envolvido nos testes de penetração móvel, juntamente com as ferramentas, técnicas e estruturas específicas envolvidas na desmontamento e análise de aplicativos Android.
Vídeos
- KRISTINA BALAAM Android Reverse Engineering - Uma série de vídeos sobre o básico da engenharia reversa e o malware Android de engenharia reversa.
- Vídeos de engenharia reversa do Android Lauriewigada - Um canal do YouTube com foco na engenharia reversa do Android.
- Usando o FRIDA para modificar os jogos do Android | Instrumentação dinâmica móvel - com foco em aplicativos Android de engenharia reversa e no uso do FRIDA para modificar dinamicamente os jogos do Android.
Livros
- ☆ Android Internals: um livro de receitas de um confeiteiro-uma exploração detalhada dos trabalhos internos do Android: no volume I, tomamos a perspectiva do usuário de energia à medida que nos aprofundamos nos fundamentos do Android, sistemas de arquivos, partições, processo de inicialização, daemons e serviços nativos.
- Blue Fox: Assembléia de braços Internais e engenharia reversa - fornece aos leitores uma base sólida nos internos da montagem do ARM e nos fundamentos da engenharia reversa como base para analisar e garantir bilhões de dispositivos de ARM.
- Android Software Interna Referência rápida - Este livro se concentra em técnicas facilmente digeríveis, úteis e interessantes no Java e no sistema Android. Incluindo: criptografia e ofuscação, depuração e extração de apk.
- ☆ Guia de bolso de segurança ofensiva móvel - com foco nos sistemas operacionais Android e iOS, o livro contém uma série de capítulos sucintos que destacam informações importantes, abordagens e ferramentas usadas por testadores de penetração móvel e profissionais de segurança ofensivos.
- Internais de segurança do Android - Descrevendo a arquitetura de segurança do Android de baixo para cima, investigando a implementação dos principais componentes e subsistemas relacionados à segurança, como Binder IPC, permissões, fornecedores criptográficos e administração de dispositivos.
- Detecção de malware Android com aprendizado de máquina - Examine as técnicas de aprendizado de máquina usadas para detectar aplicativos maliciosos, os tipos de modelos de classificação que os defensores podem usar e os vários recursos de amostras de malware que podem se tornar inseridas nesses modelos.
Ferramentas
Ferramentas de análise estática
- QARK - Uma ferramenta de código aberto desenvolvido pelo LinkedIn para digitalização automática de vulnerabilidades de aplicativos para Android, incluindo a identificação de possíveis problemas de segurança, como injeção de SQL, armazenamento de dados inseguro e muito mais.
- Quark Engine - O objetivo do Quark Script visa fornecer uma maneira inovadora para os pesquisadores de segurança móvel analisarem ou meditarem os alvos. Com base no Quark, integramos as ferramentas decentes como APIs de script de quarks e as fazemos trocar inteligência valiosa entre si.
- MOBSF - Uma estrutura de teste de segurança de aplicativos móveis de código aberto que suporta análises estáticas e dinâmicas de aplicativos Android para vulnerabilidades e questões de privacidade.
- ANDROBUGS Framework - Uma estrutura de código aberto para analisar e digitalizar aplicativos do Android em busca de problemas de segurança, incluindo recursos de análise estática e dinâmica.
- ☆ IMJTOOL - Ferramenta de descompacagem de firmware aplicável à mais ampla variedade de fornecedores e formatos.
- Android Studio - Útil se você não tiver uma licença Jeb e deseja abrir um aplicativo descompilado (via JADX) em um IDE adequado.
- ☆ Gráfico de dependência APK - um visualizador de dependência da classe APK. Útil para o mapeamento de superfície de ataque.
- Desarmar-Um utilitário simples da linha de comando que toma como argumento um número hexadecimal de 32 bits e o analisa como uma instrução ARM-64, fornecendo a desmontagem.
- COVA - O COVA é uma ferramenta de análise estática para calcular restrições de caminho com base em APIs definidas pelo usuário.
- DIS {Integrity} - Uma ferramenta para analisar as verificações de Android APKs e extrair raiz, integridade e detecção de adulteração.
De-obfusação
- ☆ OBFU [DE] Scate - OBFU [DE] Scate é uma ferramenta de desosco para Android APKs que usa a lógica de comparação difusa para identificar semelhanças entre as funções, mesmo que tenham sido renomeadas como parte da ofuscação. Ele compara duas versões de um APK e gera um arquivo de texto de mapeamento e um arquivo HTML interativo como saídas!
- Tinysmaliemulator - Um emulador minimalista de Smali que poderia ser usado para "descriptografar" as cordas ofuscadas.
- Simplifique - Android Virtual Machine e Deobfuscator.
- Deoptfuscator - O Deoptfuscator é uma ferramenta para aplicações de andróides descontacatórias que foram transformadas usando mecanismos de ofuscação de fluxo de controle.
Ferramentas de análise dinâmica
- Drozer - Uma estrutura de código aberto para testes de segurança do Android que fornece um conjunto abrangente de ferramentas para análise dinâmica, incluindo interceptar, modificar e analisar o tráfego de aplicativos.
- JTRACE - Strace para Android - Para traçar chamadas no nível do sistema, incluindo o fichário.
- Ferramenta de linha de comando Sesearch para consultar políticas de Selinux.
- AUTODROID - Ferramenta para coleta de massa APKs de um (s) dispositivo (s), descompilar, filtrar as cordas, etc.
Networking
- ☆ Burp Suite - Uma popular ferramenta de teste de segurança comercial comercial que pode ser usada para analisar o tráfego de rede de aplicativos Android para possíveis vulnerabilidades de segurança.
- Wireshark - Um analisador de protocolo de rede de código aberto amplamente utilizado que pode capturar, analisar e dissecar o tráfego de rede gerado por aplicativos Android para análise de segurança.
- SSLSplit - Uma ferramenta de código aberto para interceptar e manipular o tráfego criptografado SSL/TLS, que pode ser usado para analisar a comunicação SSL/TLS em aplicativos Android.
- MITMPROXY-Um proxy man-in-the-middle de código aberto que permite interceptar e analisar o tráfego de rede gerado por aplicativos Android para testes e análises de segurança.
- APK -MITM - Um aplicativo CLI que prepara automaticamente os arquivos Android APK para a inspeção HTTPS.
Instrumentação dinâmica
- ☆ Frida - Um kit de ferramentas de instrumentação dinâmica para aplicativos Android que permite a manipulação de tempo de execução e a análise do comportamento do aplicativo.
- Xposed Framework - Uma estrutura poderosa para conectar e modificar o comportamento dos aplicativos Android em tempo de execução, comumente usado para engenharia e análise reversa.
- ☆ Objeção - Uma ferramenta de exploração móvel de tempo de execução para Android que fornece vários recursos para analisar, manipular e ignorar os controles de segurança de aplicativos.
- RMS Runtime Mobile Security - Frida Web Interface.
- ☆ Fridump - Um script python que utiliza Frida para despejar a memória de um gadget em execução, como uma atividade de aplicativo.
- JNITRACE - Uma ferramenta baseada em FRIDA para rastrear o uso da API JNI em aplicativos Android.
- ☆ Trace Binder - O Binder Trace é uma ferramenta para interceptar e analisar mensagens de fichário do Android. Pense nisso como "Wireshark for Binder".
Decompilistas
- ☆ JADX - Uma ferramenta de código aberto para descompilar e analisar arquivos Android APK no código -fonte Java para engenharia e análise reversa.
- Procyon - Procyon é um conjunto de ferramentas de metaprogramação Java, incluindo uma API de reflexão rica, uma API de árvore de expressão inspirada em LINQ para geração de código de tempo de execução e um decompilador Java.
- CFR - Um decompilador Java de código aberto que suporta a descompilação de arquivos Android APK no código -fonte Java, incluindo suporte para recursos mais recentes do idioma Java.
- Fernflower - Fernflower é o primeiro decompilador analítico realmente funcionando para Java e provavelmente para uma linguagem de programação de alto nível em geral.
- ☆ Apktool - Uma ferramenta popular de código aberto para descompilar e recompilar arquivos Android APK.
- DEX2JAR - Uma ferramenta para converter arquivos Android DEX em arquivos JAR, que podem ser analisados posteriormente usando os decompiladores Java.
- JDGUI - JD -GUI é um utilitário gráfico independente que exibe os códigos de origem Java de arquivos ".class".
- IDA Pro - um poderoso desmontador comercial e depurador para analisar o código nativo do Android.
- ☆ Ghidra - Uma estrutura de engenharia reversa de software gratuita e de código aberto (SRE) desenvolvido pela Agência de Segurança Nacional (NSA) que suporta a análise do Android.
- Jeb Decompiler - Um decompilador comercial para aplicativos Android que podem descompilar arquivos APK no código -fonte Java para análise.
- RATARE2 - Uma estrutura de engenharia reversa gratuita e de código aberto que suporta análises do Android, incluindo desmontagem, depuração e análise binária.
- ANDROGUARD - Uma ferramenta de código aberto para analisar e engenharia reversa de aplicativos Android, incluindo arquivos APK de descomposição, analisar o Dalvik Bytecode e muito mais.
- APK2GOLD - Ferramenta CLI para descompilar os aplicativos Android para Java. Fazer recursos e Java (este repositório tem 9 anos e, portanto, pode não funcionar com versões mais recentes do Android).
- AndroidProjectCreator - Converta um APK em um projeto de estúdio Android usando vários descompiladores de código aberto.
- APK Studio-IDE QT de plataforma cruzada, de código aberto, para pacotes de aplicativos Android de engenharia reversa.
- Show -Java - Um APK (Aplicativo Android), JAR & DEX Decompilador para Android.
- ☆ Apklab-Apklab integra perfeitamente o motor de quarks, apktool, jadx, uber-apk-signer, apk-mitm e muito mais para o código vs.
Análise de malware
- DROIDDETECTION - Uma estrutura de análise de malware de aprendizado de máquina para aplicativos Android.
- Cuco Droid - Cuckoodroid - Análise automatizada de malware Android com Sandbox Cuckoo.
- ANDROWARN - Um analisador de código estático para aplicações maliciosas do Android.
Recursos
Documentação
- Documentação de Segurança do Android - Documentação Oficial do Google no Android Security, incluindo tópicos relacionados à engenharia reversa.
- Desafios de engenharia reversa do Android - Uma lista com curadoria de desafios e CTFs de engenharia reversa do Android (capture a bandeira) para a prática.
- AndroidxRef - Pesquisa de código aberto pela fonte do Android.
- APKMIRROR - Repositório de Android APKs de fontes como a Play Store e o Usuário Uploads.
- APKPURE - Repositório de Android APKs de fontes como a Play Store e o Usuário Uploads.
Estudos de caso
- O aplicativo post-mortem de um engenheiro reverso do aplicativo de bate-papo de vídeo de parto hous
- Sharkbot: uma “nova” geração Android Banking Trojan sendo distribuído na loja do Google Play
- Série in-the-wild: Android Explosits
CTFs e crackmes
- ☆ Aplicativos móveis inevitáveis - um conjunto de aplicativos OWASP Android Crackme's. Esses desafios são usados como exemplos em todo o OWASP mastg. Claro, você também pode resolvê -los por diversão.
- CybertruckChallenge19 - Material da Workshop de Segurança Android ensinado durante o Cybertruck Challenge 2019 (Detroit EUA).
- KGB Messenger - KGB Messenger é um desafio de prática de CTF de código aberto que visa ajudar as pessoas a aprender a reverter os aplicativos Android.
Misc
- LADB - Um shell de ADB local para Android!
- Fábrica de Droid Broken - O BDF é uma ferramenta Python projetada para aumentar os aplicativos Android vulneráveis do pseudo -pseudo para treinamento quando se trata de pesquisa de vulnerabilidade, hackers éticos e testes de caneta em aplicativos Android.
- Uber-APK-Signador-Uma ferramenta CLI que ajuda a assinar e alinhar os pacotes de aplicativos únicos ou múltiplos de Android (APKs) com depuração ou certificados de liberação fornecidos. Ele suporta o esquema de assinatura V1, V2 e V3 Android possui um keystore de depuração incorporado e verifica automaticamente após a assinatura.
- Demoção de detecção de adulteração Runic - projetada para servir como um paralelo para entender os sistemas de detecção e integridade de adulteração de Android mais complexos, como o Google Play Safetynet e a Detect de segurança da Huawei.
Contribuindo
Suas contribuições são sempre bem -vindas! Leia as diretrizes de contribuição primeiro. Seguimos o Código de Conduta do Covenant Colaborador. Certifique -se de revisar e aderir a este código de conduta ao contribuir.
Licença
Este projeto está licenciado sob a licença do MIT - consulte o arquivo License.md para obter detalhes.