Vorrei strappare il database al cellulare non rootato, e forse mediante adb c'è modo di farlo.
Però devo imparare a usare adb.
Vediamo:
c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb devices List of devices attached emulator-5554 device c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>Ottengo un elenco dei dispositivi cui sono collegato. Al momento c'è solo l'emulatore. Ora attacco anche il cellulare.
c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb devices List of devices attached emulator-5554 device c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb devices List of devices attached 52036bacee7b833d device emulator-5554 device c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>Ecco prima e dopo aver attaccato il cellulare.
Vado sul cellulare
c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb -s 52036bacee7b833d shell shell@a3xelte:/ $Ora provo ad andare sull'emulatore:
c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb -s 52036bacee7b833d shell shell@a3xelte:/ $ exit c:\Users\Antonello\AppData\Local\Android\sdk\platform-tools>adb -s emulator-5554 shell root@generic_x86_64:/ #Sono uscito dal cellulare e sono entrato sull'emulatore.
Ora, dal momento che l'emulatore è rootato per definizione, posso aprirmi ADM (Android Device Monitor) e snavigazzare allegramente fra le directory dell'emulatore con i comandi Linux confrontando il mio percorso con il filesystem del dispositivo.
Tools->Android->Android Device Monitor
Eccolo.
Vediamo dove mi trovo...
Do il comando ls e ottengo:
127|root@generic_x86_64:/ # ls acct cache charger config d data default.prop dev etc file_contexts fstab.goldfish fstab.ranchu init init.environ.rc init.goldfish.rc init.ranchu.rc init.rc init.trace.rc init.usb.rc init.zygote32.rc init.zygote64_32.rc mnt proc property_contexts root sbin sdcard seapp_contexts selinux_version sepolicy service_contexts storage sys system ueventd.goldfish.rc ueventd.ranchu.rc ueventd.rc vendorConfronto con un'immagine da ADM:
Ecco, praticamente sono qui.
Uso il comando pwd per vedere dove mi trovo:
root@generic_x86_64:/ # pwd / root@generic_x86_64:/ #Sto praticamente nella directory radice. Prima avevo provato a fare qualcosa del genere con il cellulare e mi diceva che mi trovavo su sdcard... ma il cellulare non è rootato.
Ora voglio andare su sdcard. Come fare? Una mezza idea ce l'ho, vediamo se è giusta...
root@generic_x86_64:/ # cd ./sdcard/ root@generic_x86_64:/sdcard # ls Alarms Android DCIM Download LOST.DIR Movies Music Notifications Pictures Podcasts Ringtones root@generic_x86_64:/sdcard #Confronto:
Ecco. C'è però un'anomalia.
Con ADM sdcard risulta vuota, e devo andare su storage/sdcard per ottenere l'accesso.
Lo desumo da questo:
...leggendo la dicitura a destra ->storage/sdcard.
E se provo ad andare su storage/sdcard con linux?
root@generic_x86_64:/ # cd ./storage/sdcard/ root@generic_x86_64:/storage/sdcard # ls Alarms Android DCIM Download LOST.DIR Movies Music Notifications Pictures Podcasts Ringtones root@generic_x86_64:/storage/sdcardE' la stessa cosa.
Ora provo ad andare sulla directory del database di un'applicazione.
root@generic_x86_64:/ # root@generic_x86_64:/ # ls acct cache charger config d data default.prop dev etc file_contexts fstab.goldfish fstab.ranchu init init.environ.rc init.goldfish.rc init.ranchu.rc init.rc init.trace.rc init.usb.rc init.zygote32.rc init.zygote64_32.rc mnt proc property_contexts root sbin sdcard seapp_contexts selinux_version sepolicy service_contexts storage sys system ueventd.goldfish.rc ueventd.ranchu.rc ueventd.rc vendor root@generic_x86_64:/ #Bene, vado in /data/:
root@generic_x86_64:/ # cd ./data/ root@generic_x86_64:/data # ls adb anr app app-asec app-lib app-private backup bugreports dalvik-cache data dontpanic drm local lost+found media mediadrm misc nativebenchmark nativetest nativetest64 property resource-cache security system tombstones user root@generic_x86_64:/data #Vado nella seconda directory data e faccio la lista dei files contenuti:
root@generic_x86_64:/data # cd ./data/ 127|root@generic_x86_64:/data/data # ls com.android.backupconfirm com.android.browser com.android.calculator2 com.android.calendar com.android.camera com.android.captiveportallogin com.android.certinstaller com.android.contacts com.android.customlocale2 com.android.defcontainer com.android.deskclock com.android.development com.android.development_settings com.android.dialer com.android.documentsui com.android.dreams.basic com.android.email com.android.emulator.smoketests com.android.exchange com.android.externalstorage com.android.fallback com.android.gallery com.android.gesture.builder com.android.htmlviewer com.android.inputdevices com.android.inputmethod.latin com.android.keychain com.android.location.fused com.android.managedprovisioning com.android.mms com.android.mms.service com.android.music com.android.netspeed com.android.packageinstaller com.android.pacprocessor com.android.phone com.android.printspooler com.android.protips com.android.providers.calendar com.android.providers.contacts com.android.providers.downloads com.android.providers.downloads.ui com.android.providers.media com.android.providers.settings com.android.providers.telephony com.android.providers.userdictionary com.android.proxyhandler com.android.sdksetup com.android.server.telecom com.android.settings com.android.sharedstoragebackup com.android.shell com.android.smoketest com.android.smoketest.tests com.android.soundrecorder com.android.speechrecorder com.android.systemui com.android.vending com.android.vpndialogs com.android.wallpaper.livepicker com.android.webview com.android.widgetpreview com.example.android.apis com.example.android.livecubes com.example.android.softkeyboard com.example.antonello.agendina com.example.antonello.j_communicator com.example.imagecom com.google.android.apps.maps com.google.android.gms com.google.android.googlequicksearchbox com.google.android.gsf com.google.android.gsf.login com.google.android.launcher com.google.android.play.games com.google.android.street com.svox.pico jp.co.omronsoft.openwnn root@generic_x86_64:/data/data #Praticamente vi sono elencati i packages.
Vado sul package che mi interessa:
root@generic_x86_64:/data/data # cd ./com.example.antonello.j_communicator/ root@generic_x86_64:/data/data/com.example.antonello.j_communicator # ls cache databases lib no_backup shared_prefs root@generic_x86_64:/data/data/com.example.antonello.j_communicator #ecco la cartella dei database.
Ci vado.
1|root@generic_x86_64:/data/data/com.example.antonello.j_communicator # cd ./databases/ root@generic_x86_64:/data/data/com.example.antonello.j_communicator/databases # ls database.db database.db-journal root@generic_x86_64:/data/data/com.example.antonello.j_communicator/databases #Ed ecco smascherato il mio file database.
E per il momento ci accontentiamo di questo.
Nessun commento:
Posta un commento