YAML Metadata Warning:empty or missing yaml metadata in repo card
Check out the documentation for more information.
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