Як я можу отримати доступ до файлів журналів Android на своєму Nexus 7 без доступу до кореня?


9

Оскільки aLogcat зараз більше не працює з Jelly Bean , як я можу отримати доступ до файлів системного журналу на своєму пристрої, не маючи доступу до кореня та не приєднуючи його до комп'ютера?

Я спробував використовувати adb logcatз мого ПК, і це спрацювало чудово, тому я знаю, що кількість повідомлень реєструється.

Використання logcatз Android Terminal Emulator на моєму Nexus 7 показує майже не вихід , хоча і adb logcatз Android Terminal Emulator , що не запускає демон , але тоді тільки говорить - waiting for device -і нічого не з'являється більше.

Отже, чи можна отримати доступ до файлів журналів Android на моєму Nexus 7 без кореневого доступу ?



@Izzy - Суть цього питання полягає в тому, що всі рішення мого іншого питання (з яким я пов’язаний у цьому питанні) потребують кореневого доступу. Хоча ці рішення корисні тим, хто вкоренив свої пристрої, я хотів більш конкретного рішення для тих, хто не вкоренив свій пристрій.
Марк Бут

Можливо, ви знайдете PhoneHome, який варто подивитися
Дорі

Відповіді:


12

Ні, з міркувань безпеки неможливо отримати доступ до файлів журналів Android на Nexus 7 (або будь-якому іншому пристрої, на якому працює Jelly Bean або вище) без кореневого доступу. Google змінив це з Jelly Bean.

Я б запропонував вам зачекати, поки читачі logcat, такі як aLogCat, і такі виправляться (тобто їм буде потрібен кореневий доступ, щоб потім показати всі журнали).

Від AISEC-TR-2012-001-Android-OS-Security.pdf - 3.3 Дозволена модель Android :

Дозвіл READ_LOGS може замінити наступне на багатьох пристроях, залежно від версії Android і, отже, встановлених стандартних версій програм:

  • READ_CONTACTS

  • GET_TASKS - кожна розпочата діяльність перерахована в журнали системи

  • READ_HISTORY_BOOKMARKS - відкриття нових веб-сторінок - це діяльність у веб-переглядачі і таким чином реєструється

  • READ_SMS

Усі рішення нижче потребують кореневого доступу :

Вам потрібно або запустити logcat як root у оболонці, або вручну надати його за допомогою команди оболонки pm (обов'язковий корінь) також працює (див. XDA , обмін org.jtb.alogcat.donate з ім'ям pkg програми):

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

Це для ледачих, і не рекомендується. Якщо ви відчайдушні, недбалі та ледачі, ви можете виправити це, надавши дозволу READ_LOGS кожній програмі, застосувавши цей некрасивий і незахищений хак ( Chainfire через twitter ):

chmod 04755 /system/bin/logcat

Щоб цитувати CyanogenMod розробника G + повідомлення Koushik Dutta :

Чи змінилися дозволи / поведінка Android Log у JellyBean?

Здається, що якщо програма зараз запускає "logcat", вона може бачити лише записи журналу, створені його UID. Рядки журналу з інших UID не відображаються. В основному, здається, фільтрують зараз.

У мене такі ж дозволи, як і зазвичай. Також підтверджено те, що відбувається в інших програмах колекціонерів журналів.


Немає способу без кореня, про який я знаю. Заради безпеки. Починаючи з JellyBean, дозвіл read_logs більше не повинен надаватись (кожен додаток у будь-якому разі може бачити лише власні журнали).
ce4

Дякую за редагування та посилання на xda, я інтегрував це.
ce4

Дякуємо, що додали pm grantопцію. Зауважте, що, як я вже кажу в іншій своїй відповіді , вам потрібно вказати дещо інший пакет, якщо ви не використовуєте пожертвовану версію aLogcat :pm grant org.jtb.alogcat android.permission.READ_LOGS
Марк Бут

Документ, що посилається, пояснює, наскільки READ_LOGSвін рівний READ_CONTACTSна деяких платформах. Я здогадуюсь того, що деякі додатки містять контактні дані у журналах, але це насправді не так, як READ_CONTACTS. Але тоді я б сказав, що папір написаний тривожним тоном.
Потік

READ_LOGS пропускає набагато більше інформації, ніж лише контактні дані. Там є ім'я користувача, ймовірно gmail адреса, місця, встановлені додатки (навіть використання додатків) тощо. Плюс: він використовувався для зчитування та вилучення адрес із скидів стеків системних демонів у попередні дні ASLR за допомогою кореневих подвигів. Тепер, коли вони вимкнуті на значну частину (4,1 ±), ви можете отримати захист від рою (порівняйте його з тим, щоб не робити щеплення вашої дитини вакцинованим населенням проти вільних захворювань). Проблеми назріли, і Google зробив правильно.
ce4

1

Мене це бентежить, хоча це пояснить деякі речі.

Запустивши те саме додаток на моєму пристрої nexus7 та на галактиці, як на медузі, телефон бачить вихід журналу з усіх додатків, планшет - ні. Це би сказало, що це не медузи його зв’язок7. Підтверджуючи це, я щойно перевірив, і в них обоє різні ядра. Планшет, з більш новим.

Можливо, оновлене ядро ​​це означає, що журнали не з’являються.

Зрозуміло, мені доведеться викорінити:


Це цікава Russ, дякую за додаткову інформацію.
Марк Бут

Насправді я зараз надійно проінформований про те, що додаток, який я використовую для перегляду журналів, був встановлений на моїй машині, коли я мав ICS, тому він зберігав дозволи побачити журнали.
Russ Wheeler

1

Я розробив додаток Logcat, який використовує альтернативний підхід. Він використовує функцію віддаленої налагодження. Спершу його потрібно ввімкнути на телефоні, але це потрібно зробити лише один раз, а потім ви можете скористатися програмою, щоб отримати всі журнали.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.