Reversing Native Libraries
WhiteIntel é um mecanismo de busca alimentado pela dark web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares de roubo.
O principal objetivo do WhiteIntel é combater tomadas de conta e ataques de ransomware resultantes de malwares de roubo de informações.
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
Para mais informações, consulte: https://maddiestone.github.io/AndroidAppRE/reversing_native_libs.html
Aplicativos Android podem usar bibliotecas nativas, geralmente escritas em C ou C++, para tarefas críticas de desempenho. Os criadores de malwares também usam essas bibliotecas, pois são mais difíceis de serem revertidas do que o bytecode DEX. A seção enfatiza habilidades de engenharia reversa adaptadas ao Android, em vez de ensinar linguagens de montagem. As versões ARM e x86 das bibliotecas são fornecidas para compatibilidade.
Pontos Chave:
Bibliotecas Nativas em Aplicativos Android:
Usadas para tarefas intensivas de desempenho.
Escritas em C ou C++, tornando a engenharia reversa desafiadora.
Encontradas no formato
.so
(objeto compartilhado), semelhante aos binários do Linux.Os criadores de malwares preferem código nativo para dificultar a análise.
Interface Nativa Java (JNI) e NDK do Android:
JNI permite que métodos Java sejam implementados em código nativo.
NDK é um conjunto de ferramentas específicas do Android para escrever código nativo.
JNI e NDK conectam o código Java (ou Kotlin) com bibliotecas nativas.
Carregamento e Execução de Bibliotecas:
As bibliotecas são carregadas na memória usando
System.loadLibrary
ouSystem.load
.JNI_OnLoad é executado ao carregar a biblioteca.
Métodos nativos declarados em Java se conectam a funções nativas, permitindo a execução.
Vinculando Métodos Java a Funções Nativas:
Vinculação Dinâmica: Os nomes das funções nas bibliotecas nativas correspondem a um padrão específico, permitindo a vinculação automática.
Vinculação Estática: Usa
RegisterNatives
para vinculação, fornecendo flexibilidade no nome e estrutura da função.Ferramentas e Técnicas de Engenharia Reversa:
Ferramentas como Ghidra e IDA Pro ajudam a analisar bibliotecas nativas.
JNIEnv
é crucial para entender funções e interações JNI.Exercícios são fornecidos para praticar o carregamento de bibliotecas, vinculação de métodos e identificação de funções nativas.
Recursos:
Aprendendo Assembly ARM:
Sugerido para uma compreensão mais profunda da arquitetura subjacente.
Noções Básicas de Assembly ARM do Azeria Labs é recomendado.
Documentação JNI & NDK:
Depurando Bibliotecas Nativas:
WhiteIntel é um mecanismo de busca alimentado pela dark web que oferece funcionalidades gratuitas para verificar se uma empresa ou seus clientes foram comprometidos por malwares de roubo.
O principal objetivo do WhiteIntel é combater tomadas de conta e ataques de ransomware resultantes de malwares de roubo de informações.
Você pode verificar o site deles e experimentar o mecanismo gratuitamente em:
Last updated