Estou tentando encontrar uma maneira eficaz de criar um arquivo compactado de várias partições do sistema no Android, canalizando tudo para stdout para poder criptografá-lo conforme aparece via gpg
.
O fluxo de trabalho é assim:
adb shell "/data/dobackup.sh" | gpg --output suchbackup.tar.gz.gpg --encrypt --sign --recipient [email protected]
O script shell precisa basicamente fazer isso:
cat /dev/block/platform/msm_sdcc.1/by-name/recovery > recovery.img
cat /dev/block/platform/msm_sdcc.1/by-name/system > system.img
...
No entanto, como visto, eu gostaria de fazer tudo isso em uma execução de shell adb para que tudo seja transferido via USB, para a memória, e rapidamente seja criptografado e depois gravado no disco, ou seja, sem deixar rastros não criptografados.
O problema que estou tendo é que não tenho certeza de como fabricar a parte interna do script em um arquivo tar.gz composto de vários arquivos/fontes. Basicamente, estou procurando gerar um arquivo tar.gz do stdout deste script que inclui os seguintes arquivos:
/recovery.img
/system.img
/userdata.img
/cache.img
/...
Existe alguma maneira de fazer isso? Não encontrei um problema como esse em minhas viagens até agora.
Responder1
Supondo que você queira usar tar para criar um arquivo e enviá-lo para saída padrão, é o que acontece por padrão se você não usar a f
opção de enviar a saída para um arquivo:
tar cz /{recovery,system,userdata,cache}.img | ...
Se o problema for arquivar "arquivos" que na verdade não existem no sistema de arquivos, isso é um pouco mais complicado por causa do formato dos arquivos tar: cada arquivo éprecedidopor um cabeçalho que inclui o tamanho do arquivo. O tamanho do arquivo no cabeçalho deve estar correto porque é a única maneira de tar
saber onde começa a próxima entrada do cabeçalho.
Portanto, só é viável fazer isso se você puder prever com precisão o tamanho do objeto de arquivo gerado. Se você puder fazer isso, poderá construir um arquivo tar usando, por exemplo, a biblioteca python padrãoarquivo tarifáriomódulo.
Responder2
Um tópico que você pode querer verificarHak5os fóruns mostrarão o caminho para um projeto em andamento que faz uso de mkfifo
outras mágicas do Bash ... Descobri que, uma vez configurado, ele facilita a criptografia de quase tudo e há ferramentas para descriptografia em massa.
Prof está no pudim entãoTravis-CIé usado atualmente para mostrar todos os recursos de trabalho, incluindo a recuperação de strings de teste, arquivos e diretórios. Isso foi testado no Android com Busybox e chroot Linux, mas você pode precisar apenas do busybox (se a rotação de saída para email estiver desabilitada) porque a maior parte do código-fonte é projetada em torno de sistemas limitados.
Dica tar
específica: verifique os logs de compilação dos últimos dias e você descobrirá que pode ser umpuxões de cabeloexperimente se você esquecer de colocar o rastro -
ou mexer v
para testar.