[[!meta title="Smartphone"]] [[!toc levels=4]] Objetivo -------- * Ter um smartphone disponível e funcional sempre que preciso. * Reduzindo ao máximo as perdas de privacidade e segurança. * Estabilidade de longo prazo: escolhas de hardware, software e configuração duráveis. Sistema escolhido ----------------- Para este estudo, o sistema escolhido foi o [LineageOS](https://lineageos.org). ### Prós * Código mais aberto. * Risco menor de backdoors. * Google Apps não-mandatório. ### Contras * Menor base de aplicativos. * Atualizações de segurança mais lentas. * Ainda dependente de um ecossistema tecnotóxico. * No caso de root no dispositivo, há redução de segurança. Modelo escolhido ---------------- Para este estudo, o modelo escolhido foi o Moto E. ### Prós * Custo relativamente baixo. * Bom suporte ao LineageOS. ### Contras * Sem flash. * Bateria não-removível. * Jack de áudio não é compatível com qualquer conector. Checklist --------- Iterador básico para a manutenção do smartphone: * Destravamento do bootloader. * Instalação ou atualização do recovery. * Instalação do LineageOS. * [Criptografia do armazenamento interno](https://source.android.com/security/encryption/full-disk). * Configuração de senha e intervalo de travamento (após cifrar o armazenamento). * Ferramentas de desenvolvimento habilitadas. * Restaurar backups e configurações, caso existam. * Configurações de aparência e comportamento. * Apps: * VPN. * Editor. * [Signal APK](https://signal.org/android/apk/). * Barcode Scanner. * [Scuttloid](https://f-droid.org/packages/gr.ndre.scuttloid/). * [MPDroid](https://f-droid.org/packages/com.namelessdev.mpdroid/). * Teste e correções. * Realização de backups. * Upgrade: * Atualizar ROM. * Atualizar apps via F-Droid. * Atualizar apks manualmente. * Alguns apps podem ser auto-autualizáveis. Detalhes a seguir sobre algumas das etapas acima elencadas. Destravamento ------------- Este procedimento é específico para alguns aparelhos para que o bootloader possa ser desbloqueado, como é o caso do modelo escolhido: # stretch onwards: sudo apt install adb fastboot sudo apt install android-tools-adb android-tools-fastboot 1 20160410 14:55:06 user@box:~ $ adb reboot bootloader 0 20160410 14:55:22 user@box:~ $ fastboot devices 0012711246 fastboot 0 20160410 14:55:40 user@box:~ $ fastboot oem get_unlock_data ... (bootloader) [...] OKAY [ 0.235s] finished. total time: 0.235s 0 20160410 14:56:01 user@box:~ $ fastboot oem unlock $code ... (bootloader) Check 'Allow OEM Unlock' in Developer Options. FAILED (remote failure) finished. total time: 0.007s 1 20160410 15:30:32 user@box:~ $ fastboot devices 0012711246 fastboot 0 20160410 15:30:49 user@box:~ $ Recovery -------- Usando o [TWRP para Moto E surnia](https://twrp.me/devices/motorolamotoelte.html): adb reboot bootloader fastboot flash recovery recovery.img fastboot reboot Instalação ---------- Detalhes de instalação já são bem cobertos pela documentação do LineageOS, incluindo a ativação do ADB: * [Update and build preparation](http://lineageos.org/Update-and-Build-Prep/). * [Moto E surnia builds](https://download.lineageos.org/surnia). * [Verifying builds](http://wiki.lineageos.org/verifying-builds.html). * [Info about surnia | LineageOS Wiki](https://wiki.lineageos.org/devices/surnia). * [Install LineageOS on surnia | LineageOS Wiki](https://wiki.lineageos.org/devices/surnia/install). * [Using ADB and fastboot | LineageOS Wiki](https://wiki.lineageos.org/adb_fastboot_guide.html). Backups ------- Usaremos o [adb-sync](https://github.com/google/adb-sync) e o [adb-export](https://github.com/snatik/adb-export) através do script [android-backup](https://git.fluxo.info/scripts/tree/android-backup). Restauro -------- A partir de um sistema recém-instalado: # Base remota base="/sdcard" # Arquivos: cópia completa #for file in `ls files`; do # adb push files/$file $base/$file #done # Arquivos: cópia incremental for file in `ls files`; do adb-sync --delete files/$file/ $base/$file/ done # Configurações adb restore backup.ab ## Subir músicas Podem ser enviadas a partir de acervos compatíveis com o [playlister](https://git.fluxo.info/playlister/about/): playlist-copy adb Dicas ----- ## Escondendo arquivos do mídia player touch /storage/emulated/0/SomeApp/Media/.nomedia Via [Hide Certain Files in Android Music Player (or Photo Gallery)](http://www.guidingtech.com/15563/hide-certain-files-android-music-player-photo-gallery/). ## Checagem de fingerprint do ADB awk '{print $1}' < ~/.android/adbkey.pub | openssl base64 -A -d -a | openssl md5 -c | \ awk '{print $2}' | tr '[:lower:]' '[:upper:]' Via [Validating the Android 4.2.2 RSA fingerprint](https://shred.zone/cilla/page/374/validating-the-android-422-rsa-fingerprint.html). ## Instalação manual de apps Checagem de assinatura: apksigner verify --print-certs app.apk Instalação: adb install app.apk ## Movendo arquivos do sdcard para o armazenamento interno adb shell cd /storage/emulated/0 mv /storage/1FAC-34C3/Music/* Music/ Alternativas ------------ * [postmarketOS](https://www.postmarketos.org/). * [Replicant](https://www.replicant.us/). * [Neo900](http://neo900.org/). Referências ----------- * Aplicativos interessantes: snoopsnitch. * [Modificações de hardware](https://web.archive.org/web/20160402005909/https://people.torproject.org/~ioerror/skunkworks/moto_e/). * [List of custom android firmware](https://en.wikipedia.org/wiki/List_of_custom_Android_firmware). * [Fossdroid: Free and open source Android apps](https://fossdroid.com/). * Backups: * [Android: How to Backup Contacts and SMS Messages | chombium's blog](https://chombium.wordpress.com/2012/09/30/android-how-to-backup-contacts-and-sms-messages/), but requires root on recent androids. * [Does adb backup include contacts? - Android Enthusiasts Stack Exchange](https://android.stackexchange.com/questions/85269/does-adb-backup-include-contacts). * [GitHub - stachre/dump-contacts2db: Bash script that dumps contacts from an Android contacts2.db to stdout in vCard format. Especially helpful when the device is inop or missing, with only a contacts2.db file available (from backup, etc.) to migrate contac](https://github.com/stachre/dump-contacts2db). * [Full Phone Backup without Unlock or … | Samsung Galaxy Nexus](https://forum.xda-developers.com/galaxy-nexus/general/guide-phone-backup-unlock-root-t1420351). * [How to use ADB backup to back up your unrooted phone - Pocketables](http://www.pocketables.com/2012/09/how-to-use-adb-backup-to-back-up-your-unrooted-phone.html).