Size: a a a

2017 November 09

AK

Anton Kazakov in Android Guards
нужно это сделать максимально просто) тк это придется делать юзерам
источник

R

Rtem in Android Guards
Тогда никак. У юзеров нету доступа к data/data
источник

AK

Anton Kazakov in Android Guards
спасибо(
источник

I

Ivan Posokhov in Android Guards
а можно как нибудь систему заставить потереть эту папку?
источник

R

Rtem in Android Guards
Ivan Posokhov
а можно как нибудь систему заставить потереть эту папку?
Да. Сброс к заводским настройкам
источник

ВТ

Владимир Тимофеев in Android Guards
Anton Kazakov
Расписываю проблему подробно, она актуальна для устройств с андроид 4.x (я воспроизвел на реальном девайсе 4.2.2 и эмуляторе 4.2)

При установке приложения в котором используется аннотация @Parcelize возникает ошибка:
pkg: /data/local/tmp/zz.abc.myapplication Failure [INSTALL_FAILED_DEXOPT]
При этом фактически приложение не установленно, но папка /data/data/zz.abc.myapplication создается с владельцем u0_a54
При следующей установке возникает другая ошибка:
pkg: /data/local/tmp/zz.abc.myapplication Failure [INSTALL_FAILED_UID_CHANGED]
Вторая ошибка возникает из-за того, что инсталятор пытается создать папку /data/data/zz.abc.myapplication от имени друго пользователя, например u0_a55

Что имеем в остатке, приложения на устройстве нет, удалить его нельзя, установить (с маркета/fabric/adb) тоже нельзя.
Чинится это удалением папки /data/data/zz.abc.myapplication, провернул это на эмуляторе, НО нужен рут

Собственно отсюда и был вопрос, никто не знает как удалить /data/data/... без рута
Приложение с тем же сертификатом может залесть в шаред преференции
источник
2017 November 13

R

Rtem in Android Guards
источник
2017 November 14

AP

Alexander Popsuenko in Android Guards
Ребят, можно ли пропатчить JDK классы в APK? Например java.io.File.
источник

QH

Quantum Harmonizer in Android Guards
Alexander Popsuenko
Ребят, можно ли пропатчить JDK классы в APK? Например java.io.File.
В каком смысле «пропатчить»? Подменить?
источник

AP

Alexander Popsuenko in Android Guards
Да.
источник

QH

Quantum Harmonizer in Android Guards
Если даже явно попросить свой classLoader загрузить этот класс, он сначала спросит у родительского classLoader'а. Можно ли создать изолированный загрузчик-сироту — хз, нужно смотреть.

Но к тому моменту, как машина начнёт исполнять твой код, такие популярные классы как jva.io.File уже будут загружены.
источник

AP

Alexander Popsuenko in Android Guards
А xbootclassath не сработает? Не знаете?
источник

QH

Quantum Harmonizer in Android Guards
Alexander Popsuenko
А xbootclassath не сработает? Не знаете?
В Android? Не знаю способа добавлять флаги. Не факт, что они вообще есть.
источник

QH

Quantum Harmonizer in Android Guards
Конечно же, Unsafe forever, можно явно писать в память своей виртуальной машины. Только формат классов может быть незадокументирован и отличаться от версии к версии.
источник

AP

Alexander Popsuenko in Android Guards
Попробую поискать, спасибо.
Мне например нужно немного изменить обращение приложения к файлам. Может есть какой-то другой способ?
источник

AP

Alexander Popsuenko in Android Guards
Я нарыл в сторону dexpatcher, но с системными классами не прокатывает патчинг.
источник

QH

Quantum Harmonizer in Android Guards
Alexander Popsuenko
Попробую поискать, спасибо.
Мне например нужно немного изменить обращение приложения к файлам. Может есть какой-то другой способ?
Изменить каким образом?
источник

AP

Alexander Popsuenko in Android Guards
Ну например шифровать записываемый поток. И расшифровывать при чтении
источник

QH

Quantum Harmonizer in Android Guards
Alexander Popsuenko
Ну например шифровать записываемый поток. И расшифровывать при чтении
Это будет пересекаться с тем, что рантайм сам тоже работает с файлами.
Например, он открывает файл с кэшами байт-кода, потом выполняет твой код, а после этого пытается читать те же кеши уже с применением шифрования. Фигня получается.
источник

AP

Alexander Popsuenko in Android Guards
Ну да. Подмена не катит. Остается обертка.
источник