Come posso accedere ai file di registro Android sul mio Nexus 7 senza accesso root?


9

Dal momento che aLogcat ora non funziona più con Jelly Bean , come posso accedere ai file di registro di sistema sul mio dispositivo senza accedere alla radice o collegarlo a un computer?

Ho provato a utilizzare adb logcatdal mio PC e ha funzionato bene, quindi so che vengono registrati molti messaggi.

L'utilizzo logcatda Android Terminal Emulator sul mio Nexus 7 non mostra quasi alcun output e adb logcatda Android Terminal Emulator , avvia il demone ma poi dice solo - waiting for device -e non appare più nulla.

Quindi, è possibile accedere ai file di registro Android sul mio Nexus 7 senza accesso root ?



@Izzy - Il punto di questa domanda è che tutte le soluzioni della mia altra domanda (a cui ho collegato in questa domanda) richiedono l'accesso come root. Mentre queste soluzioni sono utili per coloro che hanno effettuato il root dei loro dispositivi, volevo una soluzione più specifica per coloro che non hanno effettuato il root dei loro dispositivi.
Mark Booth,

Puoi trovare PhoneHome degno di nota
Dori l'

Risposte:


12

No, per motivi di sicurezza non è possibile accedere ai file di registro Android su Nexus 7 (o qualsiasi altro dispositivo con Jelly Bean o superiore) senza accesso root. Google l'ha cambiato con Jelly Bean.

Ti suggerirei di aspettare fino a quando i lettori logcat come aLogCat e tali verranno risolti (cioè avranno bisogno dell'accesso root per mostrare tutti i log allora).

Da AISEC-TR-2012-001-Android-OS-Security.pdf - 3.3 Modello di autorizzazione Android :

L'autorizzazione READ_LOGS può sostituire quanto segue su molti dispositivi, a seconda della versione di Android e quindi delle versioni delle app standard installate:

  • READ_CONTACTS

  • GET_TASKS: ogni attività avviata è elencata nei registri del sistema

  • READ_HISTORY_BOOKMARKS - l'apertura di nuove pagine Web è un'attività del browser e quindi registrata

  • READ_SMS

Tutte le soluzioni seguenti richiedono l'accesso come root :

È necessario eseguire logcat come root in una shell o concederlo manualmente tramite il comando shell pm (root richiesto) funziona anche (vedere XDA , scambiare org.jtb.alogcat.donate con il nome pkg dell'app):

pm grant org.jtb.alogcat.donate android.permission.READ_LOGS

Questo è per quelli pigri e non suggeriti: se sei disperato, distratto e pigro, puoi risolverlo dando a ogni app l'autorizzazione READ_LOGS applicando questo brutto e insicuro hack ( Chainfire via twitter ):

chmod 04755 /system/bin/logcat

Per citare il post G + di Koushik Dutta, sviluppatore di CyanogenMod :

Le autorizzazioni / il comportamento del registro Android sono cambiati in JellyBean?

Sembra che se un'applicazione esegue "logcat" ora, può vedere solo le voci di registro create dal suo UID. Le linee di registro di altri UID non vengono visualizzate. Fondamentalmente, sembra essere filtrato ora.

Ho le stesse autorizzazioni del solito. Ha anche confermato che la stessa cosa sta accadendo in altre app di raccolta log.


Non c'è modo senza radice di cui io sappia. Per motivi di sicurezza. A partire da JellyBean, l'autorizzazione read_logs non deve più essere concessa (ogni app può comunque visualizzare solo i propri registri).
Ce4,

Grazie per la modifica e il collegamento a XDA, l'ho integrato.
Ce4,

Grazie per aver aggiunto l' pm grantopzione. Si noti che, come ho già detto nell'altra mia risposta , è necessario specificare un pacchetto leggermente diverso se non si utilizza la versione di donazione di aLogcat :pm grant org.jtb.alogcat android.permission.READ_LOGS
Mark Booth

Il documento di riferimento fa spiegare come READ_LOGSè uguale READ_CONTACTSsu alcune piattaforme. Suppongo che alcune app inseriscano i dati di contatto nei registri, ma non è esattamente la stessa READ_CONTACTS. Ma poi direi che il documento è scritto in tono allarmistico.
Flusso

READ_LOGS perde molte più informazioni rispetto ai soli dati di contatto. C'è il nome dell'utente, probabilmente l'indirizzo di Gmail, le posizioni, le app installate (anche l'utilizzo delle app) e così via. Inoltre: è stato usato per leggere ed estrarre gli indirizzi dai dump dello stack dei demoni di sistema nei giorni precedenti l'ASLR dagli exploit root. Ora che sono disattivati ​​in gran parte (4,1 ±) potresti ottenere una protezione contro lo sciame (confrontalo con il non vaccinare tuo figlio in una popolazione vaccinata libera da malattia). I problemi si sono presentati e Google ha fatto la cosa giusta.
Ce4,

1

Sono confuso da questo sebbene spiegherebbe alcune cose.

Eseguendo la stessa app sul mio nexus7 e sul mio galaxy nexus, entrambi su jellybean, il telefono vede l'output del registro da tutte le app, il tablet no. Questo direbbe che non è jellybean, è il nexus7. A sostegno di ciò, ho appena controllato ed entrambi hanno kernel diversi. Il tablet, con uno più recente.

Forse è il kernel aggiornato che significa che i log non vengono visualizzati.

Immagino che dovrò fare il root dopo tutto: (


Russ interessante, grazie per le informazioni extra.
Mark Booth,

In realtà ora sono stato informato in modo affidabile che è perché l'app che sto usando per vedere i registri, è stata installata sulla mia macchina quando avevo ICS, quindi ha conservato le autorizzazioni per vedere i registri.
Russ Wheeler,

1

Ho sviluppato un'app Logcat che utilizza un approccio alternativo. Utilizza la funzione di debug remoto. Devi prima abilitarlo sul telefono, ma deve essere fatto solo una volta e quindi puoi utilizzare l'app per recuperare tutti i registri.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.