Storage emulated 0 вирус
Всем привет. Недавно мне valdikss рассказал об андроид-вирусе, который может немало навредить пользователю, если он недостаточно внимателен. Мне захотелось узнать его внутренности, т.к. более или менее в последнее время занимаюсь ресерчем андроид приложений, но вирусы никогда еще не исследовал. До его рассмотрения, мне сразу бросилось в глаза название файла — android_update-1.apk. Первым делом делаю то, что делает каждый андроид ресерчер — распаковывает его dex2jar-ом (ну и параллельно можно посмотреть WinRAR-ом список файлов).
Когда я распаковал файл dex2jar-ом у меня получился красивый jar. Я обрадовался и кинулся смотреть его в JD-GUI.
Но, к сожалению, JD-GUI не смог полностью декомпильнуть получившийся файл, зато в самом конце файла были интересные строки.
Как известно, APK — формат архивных исполняемых файлов-приложений для Android. Список файлов, которые входят в APK-архив, можно с легкостью просмотреть WinRAR-ом, что я и сделал.
На первый взгляд ничего особенного, но я знаю, что в папке assets разработчики хранят локальные файлы — html страницы, картинки, ну, в общем, локальные ресурсы, которые можно дергать из приложения.
Там я нашел файл classes.dex. Classes.dex — контейнер который, если мы распакуем, получим (если повезет) исходный код приложения под Android. По стандарту, файл classes.dex должен начинаться следующими байтами:
Что в ASCII — dex.035.
Но файл assets\classes.dex начинался так:
Явно зашифровано. Уже начинает проявляться логика работы зловреда. Когда мы скачиваем на смартфон и запускаем apk, он устанавливается, дергает из своих ресурсов файл classes.dex, расшифровывает, (по логике) получает какой то новый аpk, который и выполняет свою основную функцию.
Чтобы полностью понять как все работает, надо посмотреть действие зловреда в динамике. На реальном устройстве запускать — самоубийство. В качестве эмулятора я взял Genymotion, его преимущества как эмулятора описывать не буду, все здесь написано. Также, вместе с Genymotion, я использую Android Studio (в дальнейшем AS) 1.2 (нет слов, чтобы описать его слаженную работу). Когда мы запускаем Android Studio и Genymotion, они связываются с помощью adb. В Android Studio удобно смотреть лог работы приложения, в данном случае зловреда.
Установка apk привела к странной ошибке:
Если мы попытаемся удалить его из администраторов (нажав на checkbox, он отмечен красным), то вылезет окно:
После нажатия на кнопку деактивации нас ждет сюрприз — приложение невозможно удалить.
Окейййй. Посмотрим сетевой трафик, вдруг он что-то куда-то шлет. В эмуляторе, на WiFi соединение, поставим прокси и перезагрузим эмулятор. Так я и думал — есть и сетевая активность
тело в POST-запросе пустое.
Откроем logcat в AS и посмотрим, вдруг это приложение что-то записывает в логах. Нам везет:
Вот что получается — зловред берет из ресурсов файл assets/classes.dex, расшифровывает, записывает в /data/data/com.adobe.jaguar/app_dex/new.apk.
Так. Чтобы теперь узнать, каков его основной фунционал, нам надо поймать файл new.apk. Устанавливаем total commander на андроид и переходим в /data/data/com.adobe.jaguar/app_dex/. Папка оказалось пустой, после запуска new.apk файл удаляется. Возник вопрос: как получить его? Сначала подумывал, не написать ли мне приложение под андроид, которое в цикле следит за папкой /data/data/com.adobe.jaguar/app_dex/ и когда зловред снова создаст этот файл, мое приложение скопирует его, и я наконец узнаю что, оно делает на самом деле. Хорошо, что я в некоторых вопросах ленивый. Немного подумав, решил поэкспериментировать над правами папки /data/data/com.adobe.jaguar/app_dex/, и тут тоже повезло — он создал файл new.apk и упал.
Копируем new.apk из андроид, распаковываем dex2jar-ом и декомпилируем с помощью JD-GUI.
Опять иероглифы… Я решил открыть получившийся файл luyten-ом, мало ли, вдруг JD-GUI не может что-то правильно декомпильнуть.
.
Да, я был прав, это не иероглифы, а зашифрованный текст, нашел функцию которая занимается расшифровкой, но из всего apk только этот класс был обфусцирован, luyten тоже упал на нем. Есть еще один декомпилер — DJ Java Decompiler, у него туго с графикой, поэтому я его использую только для просмотра отдельных классов, а не всего проекта. Он, как бы, смог декомпильнуть, но, к сожалению, я не смог понять, как именно идет расшифровка.
Класс который отвечает за расшифровку (буду рад если взгляните на код, с первого взгляда AES, но не факт):
Нам уже из сетевой активности известно, что по сети передаются POST-запросы, так что этот код отправит POST-запрос:
Теперь у нас есть полная картина, этот зловред — банковский троян, который маскируется под андроид апдейт для Adobe Flash Player. После установки создает сервисы com.adobe.jaguar:jaguar_bf и com.adobe.jaguar:jaguar_obs. Сканируют файловую систему (в теле new.apk нашел код) на предмет установленных программ банк-клиентов, если находит их, то читает файлы из папки shared_prefs и отправляет злоумышленнику.
Мораль:
1. Не устанавливайте root и банк-клиент на одном устройстве
2. Не доверяйте приложениям, скачанными из сторонних магазинов
Симптомы вирусного заражения Android-устройства
Не все из этих симптомов стопроцентно указывают на вирус, но каждый является поводом немедленно просканировать устройство на предмет заражения.
Самый простой способ удаления мобильного вируса
К сожалению, этот способ помогает примерно в 30-40% случаев, поскольку большинство вредоносных объектов активно сопротивляется своему удалению. Но управа существует и на них. Далее мы рассмотрим варианты действий, когда:
- антивирус не запускается, не обнаруживает или не удаляет источник проблемы;
- вредоносная программа после удаления восстанавливается;
- устройство (или его отдельные функции) заблокированы.
Удаление вредоносной программы в безопасном режиме
Если вам не удается почистить телефон или планшет в обычном режиме, попытайтесь это сделать в безопасном. Основная масса вредоносных программ (не только мобильных) не проявляет в безопасном режиме никакой активности и не препятствует уничтожению.
Если у вас старая версия Android — 4.0 и ниже, выключите гаджет обычным способом и снова включите. При появлении на экране логотипа Android одновременно нажмите клавиши увеличения и уменьшения громкости. Удерживайте их, пока аппарат не загрузится полностью.
Находясь в безопасном режиме, просканируйте устройство антивирусом. Если антивируса нет или он по каким-то причинам не запускается, установите (или переустановите) его из Google Play.
Таким способом успешно удаляются рекламные вирусы типа Android.Gmobi 1 и Android.Gmobi.3 (по классификации Dr. Web), которые закачивают на телефон различные программы (с целью накрутки рейтинга), а также показывают на рабочем столе баннеры и объявления.
Если у вас есть права суперпользователя (root) и вы точно знаете, что именно вызвало проблему, запустите файловый менеджер (например, Root explorer), пройдите по пути расположения этого файла и удалите его. Чаще всего мобильные вирусы и трояны помещают свое тело (исполняемые файлы с расширением .apk) в каталог system/app.
Для перехода в нормальный режим просто перезагрузите устройство.
Удаление мобильных вирусов через компьютер
Удаление вирусов на телефоне через компьютер выручает тогда, когда мобильный антивирус не справляется со своей задачей даже в безопасном режиме или функции устройства частично заблокированы.
Удалить вирус с планшета и телефона, используя компьютер, тоже возможно двумя способами:
- с помощью антивируса, установленного на ПК;
- вручную через файловый менеджер для Андроид-гаджетов, например, Android Commander.
Следом включите USB.
Android Commander — программа для обмена файлами между мобильным андроид-гаджетом и ПК. Запускаясь на компьютере, она предоставляет владельцу доступ к памяти планшета или телефона, позволяет копировать, перемещать и удалять любые данные.
Далее подключите гаджет к ПК как USB-накопитель и запустите с правами администратора Android Commander. В нем, в отличие от проводника Windows, отображаются защищенные системные файлы и каталоги ОС Андроид — так же, как, например, в Root Explorer — диспетчере файлов для root-пользователей.
В правой половине окна Android Commander показаны каталоги мобильного устройства. Найдите в них исполняемый файл приложения (с расширением .apk), которое вызывает проблему, и удалите его. Как вариант — скопируйте подозрительные папки с телефона на компьютер и просканируйте каждую из них антивирусом.
Что делать, если вирус не удаляется
Если вышеописанные операции ни к чему не привели — вредоносная программа по-прежнему дает о себе знать, а также если операционная система после очистки перестала нормально функционировать, придется прибегнуть к одной из радикальных мер:
- сбросу с восстановлением заводских настроек через системное меню;
- hard reset через меню Recovery;
- перепрошивке аппарата.
Этот вариант самый простой. Им можно воспользоваться тогда, когда функции операционной системы и сам аппарат не заблокированы.
Для перепрошивки телефона или планшета потребуются root-права, дистрибутив (сама прошивка), программа инсталляции, компьютер с USB-кабелем или SD-карта. Помните, что для каждой модели гаджета выпускаются свои, индивидуальные версии прошивок. Вместе с ними обычно находятся и инструкции по установке.
Память мобильных устройств - вопрос, интересующий многих владельцев Android-смартфонов. Объём доступной к использованию свободной памяти, предоставляемый производителями телефонов, за последние годы существенно увеличился, но объём данных, которые хранит пользователь в носимых гаджетах, растёт ещё быстрее.
В данной статье мы поговорим об одном из способов, позволяющих освободить место в памяти Андроид смартфона . Ниже речь пойдёт о том, что такое очистка кэша и что происходит при нажатии на кнопку Очистить данные у приложений в Android OS.
Содержание статьи:
Накопитель заполнен на 75%. Перенести данные на SD-карту
Со временем, когда объём хранимой на смартфоне информации сильно увеличивается, пользователь может столкнуться с проблемой нехватки памяти на телефоне. Уведомление, оповещающее о том, что память заполнена , может выглядеть по-разному. Вот один из примеров:
О чём говорит это предупреждение? В данном случае система предупреждает, что на внутренней памяти устройства осталось меньше 25% свободного пространства. По большому счёту, это не критическая ошибка, доступная память ещё в наличии, но нужно иметь ввиду два момента:
- Свободное место на телефоне скоро может закончиться, чтобы этого не произошло в самый неподходящий момент, заранее позаботьтесь об освобождении занятого простарнства.
- Для комфортной работы с ОС желательно держать свободным некоторый объём памяти внутреннего накопителя. Это обеспечит поддержание уровня быстродействия и плавности в повседневном использовании.
В статье Память на Android. Все разделы памяти Андроид устройств мы подробно останавливались на разборе всех типов памяти Android OS. Там же приводилась следующая строчка:
Внутренняя память устройства (Internal phone storage) - та часть модуля памяти смартфона, которая не занята системными разделами и доступна пользователю для размещения приложений, медиа-контента и документов. Часть памяти, на которую устанавливается софт , определяется как раздел Data, а часть, занятая пользовательскими файлами - как User.
Зачастую реальной границы между этими областями нет, и тогда распределение памяти зависит только от нужд владельца устройства.
Если учесть это в рамках текущей публикации, то делаем вывод, что система может оповещать как о нехватке памяти на внутреннем накопителе в целом, так и конкретно о нехватке памяти в разделе Data . Разница в следующем:
- Если на смартфоне требуется освободить место в общем на внутреннем накопителе, то мы можем принести в жертву либо пользовательские данные (музыка, фотографии, видео, документы), либо приложения и файлы связанные с ними.
- Если на смартфоне необходимо освободить выделенный раздел Data , то удаление фотографий или музыки не приведёт ни к какому результату. В этом случае требуется оптимизация именно памяти, занятой программами и играми. Это важно понимать.
Если с удалением медиафайлов и документов всё более или менее понятно, то вопрос оптимизации памяти, занимаемой приложениями, рассмотрим подробнее.
Из чего состоят приложения на Андроид
В первую очередь, стоит указать, что каждое Андроид приложение условно можно разделить на три части по типу используемых файлов:
- Программа. Это само приложение, apk-файл .
- Данные приложения. Это пользовательская информация, которая сохраняется в процессе всего периода жизни той или иной программы на смартфоне. Данные вносятся в программу пользователем или по его прямому запросу.
- Кэш приложения. Это временно хранимые файлы. Грубо говоря, это та же пользовательская информация, с той лишь разницей, что её утрата не влияет на работоспособность приложения. Программа способна заполнить кэш нужными данными самостоятельно в процессе работы.
Теперь определим, где хранится программа, её данные и кэш приложения на Андроид.
Если продолжить отсылку к упомянутой выше статье о памяти на Android и воспользоваться классификацией разделов из неё, то можно смело утверждать, что и сама программа, и данные пользовательских приложений, и их кэш хранятся в Энергонезависимой памяти -> в Перезаписываемом разделе EEPROM -> Internal phone storage (внутренний накопитель) -> Data (то есть, данные).
Мы в данном случае не рассматриваем системные приложения, так как они расположены в Прошиваемом разделе System, и, без наличия root-прав, недоступны для удаления.
То есть, из вышесказанного делаем вывод, что и программа, и её данные с кэшем занимают память в разделе Data , а это значит, что очистка любой из этих составляющих, освобождает пользовательское место и, собственно, частично решает проблему нехватки памяти на Андроид устройстве.
Взглянем на все составные части приложений Android детальнее.
Удаление приложения на Андроид
Сначала отметим, что сама программа в системе Андроид - это не только apk-файл . Кроме него могут быть задействованы дополнительные библиотеки и дополнительные технические* файлы программы.
Под техническими файлами мы понимаем те ресурсы, которые хранятся вне исполнительного файла , но служат для обеспечения выполнения приложением своей работы.
И исполнительный файл программы, и сопутствующие ему файлы чаще всего располагаются в следующем каталоге от корня файловой системы:
В папке app располагается каталог приложения, в корне которого находится сам apk-файл , и папка lib, в которую помещаются системные библиотеки, если таковые имеются. В зависимости от программы, рядом с apk-файлом могут быть и папки с другим названием.
Содержимое папки с программой в каталоге /data/app/ хранится там на протяжении всего времени работы от момента установки до момента деинсталляции приложения.
Очистить данные приложения Андроид
Теперь, что касается данных приложения. Данные - это, в первую очередь, пользовательская информация. В общем случае хранятся данные приложения в следующем каталоге:
В частном случае это может быть немного иной путь, что, в частности, соответствует общему каталогу, отличаясь только отображением иерархии каталогов:
Этой папкой возможные места хранения данных приложения на Андроид не ограничиваются. Часто программа при установке создаёт свой каталог в корне карты памяти: либо внутренней, либо внешней. Именно в этих папках программа сохраняет информацию, которую:
- вводит пользователь;
- скачивает само приложение по запросу юзера.
Кроме вышеперечисленных путей есть ещё один каталог, о котором нужно упомянуть отдельно. Речь пойдёт о папке obb, которая расположена по пути:
Эта папка служит специально для того, чтобы там хранился так называемый кэш игр . Немножко подробнее остановимся на том, что это такое и для чего используется.
Игровая индустрия развивается достаточно быстро. Вместе с этим растут и требования к аппаратной части, в том числе и к дисковому пространству. Всё это актуально и для Android OS. Серьёзные игры с красивой прорисовкой графики и серьёзным геймплеем требуют хранения большего объёма системной информации. Всё это привело к тому, что у многих игр появился ярко выраженный кэш. Но, как и в разных способах установки программ, есть несколько путей и в том, как поместить кэш игры в папку /Android/obb/:
- Если объём кэша не очень велик , то разработчик может заархивировать данные, поместить их непосредственно в apk-файл или просто привязать загрузку кэша к загрузке самой игры. При установке такой игры кэш самостоятельно распакуется в нужную папку. Эту возможность разработчики иногда используют как дополнительную защиту от взлома, так как в случае, если вы скачали игру не из магазина Google Play, а из альтернативного источника, игра при запуске не найдёт кэш и откажется запускаться.
- Если в apk-файле всех файлов игры не размещено, то, по умолчанию, кэш игры скачивается через интернет автоматически самим приложением при его первом запуске.
Нужно отметить ещё одну причину, по которой кэш игр не очень удобно упаковывать изначально в apk-файл. Дело в том, что, зачастую, кэш для разных телефонов будет отличаться в зависимости от разрешения экрана, типа видеочипа и процессора, а иногда и от модели смартфона. А если скачивать кэш при первом запуске игры, то не придётся передавать на смартфон пользователя те данные, которые не подходят для его устройства. - Всё*, что скачивается конкретным приложением, можно скачать вручную. То есть, кэш игры можно качать не через саму игру, а отдельно . Это возможно в том случае, если кто-нибудь скачает подходящий вам кэш (по разрешению экрана, типу видеоускорителя и так далее) и выложит его в сеть. Тогда нам останется скачать архив с кэшем и поместить его в нужный каталог: obb или data, в зависимости от игры (в частных случаях путь хранения кэша может отличаться и указывается дополнительно).
Если вы скачиваете кэш игры отдельно, то советуем поступать следующим образом: сначала установить игру , затем запустить её и дать время для запуска загрузки кэша из сети , а спустя несколько секунд прервать загрузку и подложить имеющийся кэш вручную . Таким образом мы избегаем ошибки в выборе каталога для размещения кэша.
Теперь кому-то может показаться странным, почему информацию о папке с кэшем мы поместили в главу о данных Android, а не о самом кэше. И вот в чём дело. По сути, кэш игры так называют потому, что он скачивается ею при установке. Эти данные являются кэшем только для самого приложения и с точки зрения пользователя. Для операционной системы Андроид файлы кэша игры являются данными приложения и при очистке кэша не затираются (ниже повторим об этом). А когда же затираются?
Также при установке игр с кэшем необходимо учитывать ещё один нюанс: при удалении такой игры следует вручную проверить, удалился ли кэш автоматически. Если этого не произошло, то папку с кэшем можно удалить вручную любым файловым менеджером.
Очистить кэш приложения Андроид
Для начала определим, что такое кэш приложения :
Слово "кэш" позаимствовано от английского слова "cache", которое, в свою очередь, произошло от французского "cacher", что значит "скрывать", "прятать".
Теперь о том, для чего нужен кэш . В кэше не хранится действительно важная информация, сюда записываются файлы, обращение к которым возможно особенно часто. Сделано это для увеличения скорости доступа. Приведём пример, описывающий работу кэша браузера:
Но у кэша существует естественный недостаток: он хранит как действительно нужные, регулярно вызываемые файлы, так и те, которые были показаны лишь раз и больше пользователю не понадобятся. Чтобы избавиться от ненужной информации, занимающей место, существует опция, которая позволяет очистить кэш приложения.
Давайте рассмотрим пример, который объясняет смысл понятий программа, данные приложения и кэш приложения простыми словами.
Предположим у нас, как у пользователя , в офисе сидит секретарша офис-менеджер Татьяна. Татьяна - это, в нашем случае, приложение . На рабочем столе Татьяны стоит компьютер, которым офис-менеджер постоянно пользуется - это данные приложения . Кроме компьютера на рабочем столе всегда находятся ручка, блокнот, степлер, дырокол и калькулятор - это кэш нашего приложения .
В какой-то момент времени мы переезжаем в другой офис (прошивка или смена устройства), он больше и просторнее, но в нём пока нет ничего. В первую очередь, приходит офис-менеджер (установка программы). Однако, она пока не может работать, у неё нет данных, поэтому мы устанавливаем ей компьютер (подгрузка данных приложения). Работа закипела. Но пока стол пуст (кэш очищен), скорость работы офис-менеджера ниже прежней: каждый раз, чтобы скрепить документы или посчитать большие суммы, ей приходится отвлекаться на поиски нужных инструментов. Поэтому, постепенно на столе у Татьяны вновь появляется степлер и кулькулятор (заполнение кэша). А вот блокнот, оказывается, нужен не так часто, поэтому он может лежать в выдвижном шкафу, а на освободившееся на столе место мы поместим календарь, обращение к которому происходит чаще. Благодаря этому Татьяна теперь справляется со своими задачами ещё быстрее.
Это грубый пример того, как очистка кэша благотворно влияет на работу приложения .
Кэш приложения также может размещать по разным папкам. Чаще всего это одноимённый каталог cache, который расположен, например, в папке приложения из /Android/data/
То есть, если на нашем смартфоне заканчивается доступная память на накопителе, именно очистка кэша позволит нам освободить некоторый объём памяти для записи новых данных. Перед очисткой кэша убедитесь, что данная процедура безболезненна для конкретной программы и не приведёт к удалению важной информации.
Соответственно, отвечая на вопрос: "Удалится ли кэш игры при очистке кэша приложения?" - можно сказать, что нет, содержимое папки /Android/obb/ в общих случаях не затрагивается, если иное не предусмотрено разработчиком системы или приложения.
Когда появились первые устройства на Android, то практически у всех были внешние карточки памяти, которые вставлялись в телефон. Обычно там хранили фотки, видео и свои файлы. Всё было понятно - были различные методы для доступа к файловой системе. А потом началась чехарда. В телефонах также была и собственная "внешняя" память. Она вроде как и внешняя, но вставлена на заводе и вытащить её пользователь не мог, т.е. практически внутренняя. Затем пошла мода на телефоны, у которых была только такая внутреннее-внешняя карта. Пользователи поворчали, но привыкли. Сейчас встречаются оба варианта. Как правило, у телефонов с спрятанной картой больше памяти и выше степень водонепроницаемости.
Подобные фокусы с картой породили и другую проблему - Гугл озаботился безопасностью файлов и стала думать, как осложнить жизнь разработчику. С выходом каждой новой версии системы компания то давала добро на полный доступ к карточке, то ограничивала, то давала права с ограничениями, то откатывала свои решения назад. Короче, запутались сами и запутали всех.
Попробуем немного разобраться с этим зоопарком. Но помните, что процесс путаницы продолжается.
При подготовке материала я опирался на письма некоторых читателей сайта, которые присылали свои мысли по этому поводу. Спасибо им за структуризацию материала.
Вот что я (кажется) понял, попытавшись загрузить картинку с внешней SD карточки.
При этом с точки зрения системы доступная для пользователя папка называется /storage/emulated/0, а при подключении к компьютеру по USB это просто одна из двух главных папок устройства – у меня в Windows Explorer она называется Tablet. Вторая папка у меня называется Card, и это и есть настоящая внешняя карточка.
Android 6.0 supports portable storage devices which are only connected to the device for a short period of time, like USB flash drives. When a user inserts a new portable device, the platform shows a notification to let them copy or manage the contents of that device. In Android 6.0, any device that is not adopted is considered portable. Because portable storage is connected for only a short time, the platform avoids heavy operations such as media scanning. Third-party apps must go through the Storage Access Framework to interact with files on portable storage; direct access is explicitly blocked for privacy and security reasons.
Если я правильно понял, этот самый Storage Access Framework позволяет работать с документом на карточке через диалог (открыть файл/сохранить файл), а вот прочитать или записать файл на карточке непосредственно из программы невозможно.
Общий вывод – реально из программы можно работать только с файлами на предоставляемой пользователю части встроенной памяти устройства, а на съёмной карточке – нет.
Это напоминает войну Microsoft с пользователями и разработчиками по поводу диска C:, компания уговаривала не устраивать беспорядок в корне этого диска, а ещё лучше - перенести свои файлы на другой диск. Но явных запретов не было.
Состояние на текущий момент
Гугл утверждает, что с версии Android 10 Q стандартный доступ к файлам будет прекращён. Ещё в Android 4.4 появился Storage Access Framework, который и должен стать заменой для работы с файлами.
Методы Environment.getExternalStorageDirectory() и Environment.getExternalStoragePublicDirectory() признаны устаревшими и будут недоступны. Даже если они будут возвращать корректные значения, ими вы не сможете воспользоваться.
В Android 7.0 добавили исключение FileUriExposedException, чтобы разработчики перестали использовать схему file://Uri.
Можно создавать файлы в корневой папке карточки при помощи Environment.getExternalStorageDirectory(), а также папки с вложенными файлами. Если папка уже существует, то у вас не будет доступа на запись (если это не ваша папка).
Если вы что-то записали, то сможете и прочитать. Чужое читать нельзя.
Кстати, разрешения на чтение и запись файлов не требуются, а READ_EXTERNAL_STORAGE и WRITE_EXTERNAL_STORAGE объявлены устаревшими.
Другие приложения не могут получить доступ к файлам вашего приложения. Файлы, которые вы создали через getExternalFilesDir(), доступны через Storage Access Framework, кроме файлов, созданных в корне карточки (что-то я совсем запутался). Ещё можно дать доступ через FileProvider.
При подключении USB-кабеля через getExternalFilesDir(), вы можете увидеть свои файлы и папки, а также файлы и папки пользователя. При этом файлы и папки пользователя на корневой папке вы не увидите. Вам не поможет даже adb или Device File Explorer студии.
Пользуйтесь методами класса Context, типа getExternalFilesDir(), getExternalCacheDir(), getExternalMediaDirs(), getObbDir() и им подобными, чтобы найти место для записи.
Используйте Storage Access Framework.
Используйте MediaStore для мультимедийных файлов.
Используйте FileProvider, чтобы файлы были видимы другим приложениям через ACTION_VIEW/ACTION_SEND.
Android 10: Появился новый флаг android:allowExternalStorageSandbox="false" и метод Environment.isExternalStorageSandboxed() для работы с песочницей. Флаг android:requestLegacyExternalStorage="true" для приложений, которые ещё используют старую модель доступа к файлам.
Как временное решение можно добавить в блок манифеста application атрибут android:requestLegacyExternalStorage="true", чтобы доступ к файлам был как раньше в Android 4.4-9.0.
Читайте также: