Skip to content
KitploitKITPLOIT
FerramentasBlog
Enviar
FerramentasBlog
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
AndroPyTool — Um framework para extração automatizada de características estáticas e dinâmicas de aplicações Android | Kitploit
Ferramentas/GitHubGitHub/alexmyg/andropytool
Segurança AndroidAnálise EstáticaAnálise Dinâmica (Sandboxing)Análise de MalwareSegurança Móvel
GitHubalexmyg/andropytool

AndroPyTool

Um framework para extração automatizada de características estáticas e dinâmicas de aplicações Android

Ver Repositório
38168há 6 anosRevisado 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

AndroPyTool

Atualização! As imagens do DroidBox foram corrigidas. A análise dinâmica está funcionando agora.

Esta é uma ferramenta para extrair características estáticas e dinâmicas de APKs Android. Ela combina diferentes ferramentas conhecidas de análise de aplicativos Android, como DroidBox, FlowDroid, Strace, AndroGuard ou análise do VirusTotal. Dado um diretório de origem contendo arquivos APK, o AndroPyTool aplica todas essas ferramentas para realizar análise pré-estática, estática e dinâmica e gera arquivos de características nos formatos JSON e CSV, além de permitir salvar todos os dados em um banco de dados MongoDB.

Para obter mais informações, você pode ler os dois artigos a seguir:

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Detecção de malware Android através da fusão de características híbridas e classificadores ensemble: o framework AndroPyTool e o conjunto de dados OmniDroid. Information Fusion. DOI: 10.1016/j.inffus.2018.12.006

  • Martín, A., Lara-Cabrera, R., & Camacho, D. (2018). Uma nova ferramenta para análise estática e dinâmica de malware Android. In Data Science and Knowledge Engineering for Sensing Decision Support (pp. 509-516). World Scientific.

Por favor, se você usar esta ferramenta, cite os trabalhos acima em seus artigos.

alt text

Como instalar

Existem duas maneiras possíveis de instalar e usar o AndroPyTool.

MODO A - DOCKER: Baixar um contêiner Docker que contém todos os arquivos necessários. Esta é a opção recomendada, você pode ter o AndroPyTool funcionando em apenas dois passos.

MODO B - CÓDIGO FONTE: Instalar e configurar todas as bibliotecas necessárias e executar o código-fonte Python.

MODO A - USANDO UM CONTÊINER DOCKER

Um contêiner Docker foi construído para fornecer uma versão rápida e confiável do AndroPyTool. Para usar o AndroPyTool com Docker, você só precisa:

  • Instalar o Docker (se ainda não o fez). Siga as instruções aqui. Se você não estiver usando Ubuntu, mude para o Sistema Operacional correto.

  • Baixar o contêiner do Docker Hub:

    root@kitploit:~
    $ docker pull alexmyg/andropytool
    
  • Executar o AndroPyTool lançando o contêiner:

    root@kitploit:~
    $ docker run --volume=</CAMINHO/PASTA/COM/APKS/>:/apks alexmyg/andropytool -s /apks/ <ARGUMENTOS>
    

    Você precisa substituir </CAMINHO/PASTA/COM/APKS/> por um caminho do seu host que contenha os APKs a serem analisados. O argumento "-s" deve ser fornecido como mostrado na linha acima, apontando para /apks/

    NOTA 2: O AndroPyTool move seus arquivos APK para subpastas diferentes para gerar um diretório de trabalho organizado. Veja o esquema de estrutura de pastas.

Existem diferentes argumentos que podem ser fornecidos ao AndroPyTool:

  • -h: Mostra a mensagem de ajuda e sai.
  • -all, --allsteps: Executa todas as etapas do AndroPyTool (Recomendado). Para obter um relatório do VirusTotal, o argumento -vt também deve ser fornecido, seguido por uma chave de API do VirusTotal. Se a opção -all não for fornecida, apenas a última etapa será executada, além dos argumentos fornecidos.
  • -s PASTA_ORIGEM, --source PASTA_ORIGEM: Pasta contendo APKs a serem analisados. Todas as amostras devem incluir a extensão .apk. Se uma execução anterior do AndroPyTool foi interrompida, o diretório de trabalho anterior deve ser fornecido.
  • -S, --single: Salvar análises individuais separadamente. Padrão: False.
  • -f, --filter: Filtrar APKs válidos e inválidos (Recomendado).
  • -vt CHAVE_API_VIRUSTOTAL, --virustotal CHAVE_API_VIRUSTOTAL: Analisar aplicativos com o serviço VirusTotal. Deve ser seguido por uma chave de API do VirusTotal.

MODO B - USANDO O CÓDIGO FONTE

NOTA: Este procedimento foi testado apenas no Ubuntu

0. Requisitos

  • O AndroPyTool possui uma série de dependências. Você pode instalá-las todas executando:
    root@kitploit:~
    $ sudo apt-get update
    $ sudo apt-get install -y --no-install-recommends software-properties-common wget git lib32gcc1 lib32ncurses5 lib32stdc++6 lib32z1 libc6-i386 libgl1-mesa-dev python-pip python-dev gcc python-tk curl
    $ sudo add-apt-repository ppa:webupd8team/java -y
    $ sudo apt-get update
    $ sudo echo oracle-java8-installer shared/accepted-oracle-license-v1-1 select true | sudo /usr/bin/debconf-set-selections
    $ sudo apt-get install -y oracle-java8-installer
    $ sudo apt-get install -y python-setuptools
    $ sudo apt-get clean
    

1. Você precisa instalar o Android SDK (vá para o próximo passo se já tiver) Os próximos passos permitirão instalar o Android SDK no modo Não-GUI:

  • Baixar e descompactar o Android SDK:

    root@kitploit:~
    $ cd
    $ wget http://dl.google.com/android/android-sdk_r24.2-linux.tgz
    $ tar -xvf android-sdk_r24.2-linux.tgz
    
  • Adicionar o Android SDK ao PATH (se você não usa Bash, por exemplo, prefere Zsh, lembre-se de modificar o arquivo correto). Para isso, adicione estas duas linhas ao seu arquivo ~/.bashrc:

    root@kitploit:~
    export ANDROID_HOME=$HOME/android-sdk-linux/
    export PATH=$PATH:$ANDROID_HOME/tools
    export PATH=$PATH:$ANDROID_HOME/platform-tools
    
  • Carregar as bibliotecas na sessão atual com:

    root@kitploit:~
    $ source ~/.bashrc
    

2. Temos que instalar o pacote Android 16

  • Vamos instalar o Android 16, que é a versão suportada pelo DroidBox (a plataforma e a imagem do sistema):

    root@kitploit:~
    $ echo y | android update sdk --filter platform-tools --no-ui --force -a
    $ echo y | android update sdk --filter tools --no-ui --force -a
    $ echo y | android update sdk --filter android-16 --no-ui --force -a
    $ echo y | android update sdk --filter sys-img-armeabi-v7a-android-16 --no-ui -a
    

3. Vamos baixar os repositórios

  • Agora podemos baixar o repositório do AndroPyTool do GitHub. Ele possui algumas dependências que também serão baixadas. No caso do DroidBox, a última versão do repositório original do DroidBox também é baixada para copiar as imagens do sistema e da RAM:
    root@kitploit:~
     $ git clone --recursive https://github.com/alexMyG/AndroPyTool.git
     $ wget https://github.com/alexMyG/AndroPyTool/releases/download/droidbox_images_patched/images_droidbox.zip
     $ unzip -o images_droidbox.zip -d AndroPyTool/DroidBox_AndroPyTool/images
     $ touch AndroPyTool/avclass/__init__.py
    

3. Vamos preparar o DroidBox

  • Precisamos dar as permissões necessárias a todos os scripts
    root@kitploit:~
    $ chmod 744 AndroPyTool/DroidBox_AndroPyTool/*.sh
    
  • Agora temos que criar o dispositivo Android:
    root@kitploit:~
    $ echo "no" | AndroPyTool/DroidBox_AndroPyTool/createDroidBoxDevice.sh
    

4. Vamos instalar as bibliotecas Python necessárias

  • Este repositório requer várias bibliotecas Python. Recomendamos o uso de um Ambiente Virtual. Se você não quiser, vá para o próximo passo: Instalar virtualenv:
    root@kitploit:~
    $ sudo pip install virtualenv
    
    Criar ambiente virtual e ativá-lo:
    root@kitploit:~
    $ virtualenv droidbox_env
    $ source droidbox_env/bin/activate
    
  • As seguintes bibliotecas Python são necessárias:
    root@kitploit:~
    $ pip install -r AndroPyTool/requirements.txt
    

5. Agora podemos executar o AndroPyTool

  • Se tudo estiver OK, podemos executar o AndroPyTool:
    root@kitploit:~
    $ cd AndroPyTool/
    $ python androPyTool.py -s </CAMINHO/PASTA/COM/APKS/>
    
  • Veja os argumentos disponíveis acima na seção Docker.

Estrutura de pastas de entrada e saída

ENTRADA: Uma pasta contendo arquivos com extensão ".apk". SAÍDA: Uma estrutura de pastas seguindo este esquema:

root@kitploit:~
/                      --> pasta raiz
/samples/              --> amostras, originalmente na pasta raiz
/samples/BW/           --> amostras de benignware
/samples/MW/           --> amostras de malware
/invalid_apks/         --> APKs inválidos encontrados
/VT_analysis/          --> relatórios de análise do VirusTotal
/FlowDroid_outputs/    --> resultados do FlowDroid
/FlowDroid_processed/  --> resultados do FlowDroid processados
/DroidBox_outputs/     --> saídas brutas do DroidBox
/Dynamic/Droidbox/     --> análise do DroidBox em JSON
/Dynamic/Strace/       --> análise do Strace em CSV
/Features_files/       --> arquivos de características gerados com o AndroPyTool

Agradecimentos

  • phamhduy corrigiu as imagens do DroidBox.
Baixar ferramenta
  • -cl, --classify: Classificar aplicativos entre malware ou benignware com base nos relatórios do VirusTotal. O argumento --virustotal deve estar definido.
  • -fw, --flowdroid: Executar o FlowDroid.
  • -dr, --droidbox: Executar o DroidBox.
  • -c, --cleanup: Realizar limpeza excluindo arquivos de trabalho temporários. Padrão: True
  • -P INDICE_PACOTES, --packgeIndex INDICE_PACOTES: Arquivo TXT com todos os pacotes da API Android. Padrão: info/package_index.txt
  • -C INDICE_CLASSES, --classIndex INDICE_CLASSES: Arquivo TXT com todas as classes da API Android. Padrão: info/class_index.txt
  • -C INDICE_CLASSES, --classIndex INDICE_CLASSES: Arquivo TXT com todas as classes da API Android. Padrão: info/class_index.txt
  • -SC INDICE_COMANDOS_SISTEMA, --systemCommandsIndex INDICE_COMANDOS_SISTEMA: Arquivo TXT com todos os Comandos do Sistema. Padrão: info/system_commands.txt
  • -C INDICE_CLASSES, --classIndex INDICE_CLASSES: Arquivo TXT com todas as classes da API Android. Padrão: info/class_index.txt
  • -mg URI_MONGODB, --mongodbURI URI_MONGODB: Exporta o relatório gerado para um banco de dados MongoDB. Requer endereço de conexão seguindo o esquema: localhost:27017
  • -csv EXPORTCSV, --cexportCSV EXPORTCSV: Exporta o relatório gerado para um arquivo CSV. Apenas características estáticas são incluídas.
  • --color: Permitir cores ao imprimir mensagens.
  • --no-color: Não usar cores para imprimir mensagens.