Android Data Recovery
Software completo de recuperação de dados para dispositivos Android com interface gráfica moderna e funcionalidades avançadas.
📋 Índice
- Características
- Requisitos
- Instalação
- Uso
- Estrutura do Projeto
- Configuração
- Troubleshooting
- Contribuindo
- Licença
✨ Características
Recuperação de Dados
- Scan de Arquivos: Três modos de scan (Rápido, Normal, Profundo)
- Recuperação de Mídia: Fotos, vídeos, áudio e documentos
- Recuperação de Banco de Dados: Contatos, mensagens SMS, histórico de chamadas
- Recuperação do WhatsApp: Mensagens e contatos do WhatsApp
- File Carving: Recuperação de arquivos deletados (requer root)
Interface Gráfica
- Interface Moderna: Baseada em PyQt6 com tema escuro/claro
- Painéis Intuitivos: Painéis separados para scan, recuperação e visualização
- Preview de Arquivos: Visualização de imagens, textos e metadados
- Progresso em Tempo Real: Barras de progresso para operações longas
- Suporte Multilíngue: Interface em Português (extensível)
Funcionalidades Técnicas
- Conexão ADB: Suporte a conexão USB e WiFi
- Detecção Automática: Detecção automática de dispositivos conectados
- Verificação de Root: Detecção automática de acesso root
- Recuperação Paralela: Suporte a recuperação paralela para maior velocidade
- Análise de Arquivos: Detecção de tipo, tamanho e integridade de arquivos
- Organização Automática: Organização de arquivos recuperados por tipo
📦 Requisitos
Sistema
- Sistema Operacional: Linux, Windows, macOS
- Python: 3.8 ou superior
- ADB: Android Debug Bridge (Android SDK Platform Tools)
Dispositivo Android
- Android: 5.0 (Lollipop) ou superior
- Depuração USB: Ativada nas opções do desenvolvedor
- Root: Opcional, mas necessário para funcionalidades completas
Dependências Python
Veja requirements.txt para a lista completa de dependências.
🚀 Instalação
1. Clonar o Repositório
git clone https://github.com/seu-usuario/android-data-recovery.git
cd android-data-recovery
2. Instalar Dependências
pip install -r requirements.txt
3. Instalar ADB
Linux (Ubuntu/Debian)
sudo apt update
sudo apt install android-tools-adb
Linux (Fedora)
sudo dnf install android-tools
macOS
brew install android-platform-tools
Windows
Baixe o Android SDK Platform Tools e extraia para uma pasta do seu PATH.
4. Configurar Dispositivo Android
Ative o Modo de Desenvolvedor:
- Vá em Configurações > Sobre o Telefone
- Toque 7 vezes em Número da Versão
Ative a Depuração USB:
- Vá em Configurações > Opções do Desenvolvedor
- Ative Depuração USB
Conecte o dispositivo via USB
Aceite a solicitação de depuração USB no dispositivo
5. Executar o Aplicativo
python main.py
📖 Uso
Conectar Dispositivo
Conexão USB:
- Conecte o dispositivo via USB
- O dispositivo aparecerá na lista de dispositivos disponíveis
- Clique em Conectar
Conexão WiFi:
- Ative a depuração WiFi no dispositivo (requer ADB via USB primeiro)
- Execute:
adb tcpip 5555 - Desconecte o USB
- Insira o IP do dispositivo e clique em Conectar WiFi
Scan do Dispositivo
Selecione o Tipo de Scan:
- Rápido: Apenas locais comuns (DCIM, Downloads, Pictures)
- Normal: Todo o armazenamento acessível
- Profundo: Inclui arquivos deletados (requer root)
Configure os Filtros (opcional):
- Selecione os tipos de arquivos a serem escaneados
Clique em Iniciar Scan
Aguarde a conclusão do scan
Selecione os arquivos para recuperação
Recuperar Arquivos
Após o scan, os arquivos selecionados aparecerão na aba Recuperação
Configure as Opções de Recuperação:
- Diretório de Saída: Onde os arquivos serão salvos
- Organizar por Tipo: Criar subpastas por tipo de arquivo
- Recuperação Paralela: Usar múltiplos threads para maior velocidade
Clique em Iniciar Recuperação
Aguarde a conclusão da recuperação
Clique em Abrir Diretório para acessar os arquivos recuperados
Visualizar Arquivos
Após a recuperação, navegue até a aba Visualização
Clique em Analisar para visualizar um arquivo
Visualize:
- Imagens
- Textos
- Metadados (tamanho, tipo, data, etc.)
Clique em Abrir Arquivo para abrir com o aplicativo padrão
📁 Estrutura do Projeto
android_data_recovery/
├── config/
│ └── settings.yaml # Configurações do aplicativo
├── core/
│ ├── __init__.py
│ ├── adb_manager.py # Gerenciamento de conexão ADB
│ ├── device_scanner.py # Scan de dispositivos
│ ├── data_recovery.py # Recuperação de arquivos
│ ├── database_recovery.py # Recuperação de bancos de dados
│ └── file_analyzer.py # Análise de arquivos
├── gui/
│ ├── __init__.py
│ ├── main_window.py # Janela principal
│ ├── device_panel.py # Painel de conexão
│ ├── scan_panel.py # Painel de scan
│ ├── recovery_panel.py # Painel de recuperação
│ ├── preview_panel.py # Painel de visualização
│ └── styles.py # Estilos e temas
├── logs/ # Logs do aplicativo
├── recovered_data/ # Dados recuperados (criado automaticamente)
├── main.py # Ponto de entrada
├── requirements.txt # Dependências Python
└── README.md # Esta documentação
⚙️ Configuração
O arquivo config/settings.yaml contém as configurações do aplicativo:
Configurações ADB
adb:
timeout: 30000 # Timeout de conexão (ms)
auto_detect: true # Detecção automática de ADB
default_port: 5037 # Porta padrão ADB
wireless_port: 5555 # Porta para conexão WiFi
Configurações de Recuperação
recovery:
data_types: # Tipos de dados suportados
- contacts
- messages
- call_logs
- photos
- videos
- audio
- documents
- whatsapp
- app_data
scan_depth: 2 # Profundidade do scan (1=quick, 2=normal, 3=deep)
max_file_size: 500 # Tamanho máximo de arquivo (MB)
temp_dir: "./temp_recovery" # Diretório temporário
output_dir: "./recovered_data" # Diretório de saída
Configurações de GUI
gui:
theme: "dark" # Tema (dark/light)
language: "pt_BR" # Idioma
window_size: [1200, 800] # Tamanho da janela
show_preview: true # Mostrar preview
preview_size: [200, 200] # Tamanho do preview
🔧 Troubleshooting
Dispositivo não aparece na lista
- Verifique se a Depuração USB está ativada
- Tente reconectar o cabo USB
- Reinicie o servidor ADB:
adb kill-server adb start-server - Verifique se o driver USB está instalado corretamente
Erro "ADB not found"
- Instale o Android SDK Platform Tools
- Verifique se o ADB está no PATH:
which adb - Se necessário, adicione o caminho do ADB ao PATH
Scan profundo não funciona
- Verifique se o dispositivo está com root
- Tente usar um aplicativo de root temporário
- Verifique se o SuperSU/Magisk está concedendo permissões
Recuperação falha
- Verifique se há espaço suficiente no disco
- Verifique as permissões do diretório de saída
- Tente usar recuperação não paralela
- Verifique os logs em
logs/para mais detalhes
Erro de permissão ao acessar /data/data
- O acesso a
/data/datarequer root - Verifique se o dispositivo está com root
- Verifique se o aplicativo tem permissões de superusuário
🤝 Contribuindo
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/MinhaFeature) - Commit suas mudanças (
git commit -m 'Adiciona MinhaFeature') - Push para a branch (
git push origin feature/MinhaFeature) - Abra um Pull Request
Diretrizes de Contribuição
- Siga o estilo de código existente
- Adicione testes para novas funcionalidades
- Atualize a documentação conforme necessário
- Use mensagens de commit claras e descritivas
📄 Licença
Este projeto está licenciado sob a Licença MIT - veja o arquivo LICENSE para detalhes.
🙏 Agradecimentos
- Android Open Source Project - Pela plataforma Android
- PyQt6 - Pelo framework de interface gráfica
- ADB - Pela ferramenta de depuração Android
📞 Suporte
Se você encontrar problemas ou tiver dúvidas:
- Verifique a seção Troubleshooting
- Abra uma Issue
- Consulte os logs em
logs/para informações detalhadas
📝 Changelog
Versão 1.0.0 (2024)
- Release inicial
- Suporte a scan de arquivos
- Recuperação de mídia e documentos
- Recuperação de contatos, mensagens e chamadas
- Recuperação do WhatsApp
- Interface gráfica com PyQt6
- Suporte a conexão USB e WiFi
- Temas escuro e claro
- Preview de arquivos
Desenvolvido com ❤️ usando Python e PyQt6