Resources arsc что это

Как устроен билд APK файла внутри

Процесс создания APK и компиляции кода

Рассматриваемые темы

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Архитектура процессоров и зачем нужна виртуальная машина

Андроид после того как вышел в 2007 году претерпел множество изменений связанный с билд процессом, средой исполнения и улучшениями производительности.

У андроида много удивительных характеристик и одна из них разные архитектуры процессоров такие как ARM64 и x86

Невозможно скомпилировать код, который поддерживает каждую архитектуру. Вот именно поэтому используется Java виртуальная машина.

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Понимание Java виртуальной машины

JVM это виртуальная машина, позволяющая устройству запускать код, который скомпилирован в Java байткод

Используя JVM, вы избавляетесь от проблемы с разной архитектурой процессоров.

JVM предоставляет переносимость и она позволяет запускать Java код в виртуальной среде, вместо того, чтобы запускать его сразу «на железе»

Но JVM была создана для систем с большими мощностями по ресурсам, а наш андроид имеет сравнительно мало памяти и заряда батареи.

По этой причине Google создал адаптированную под андроид виртуальную машину, которая называется Dalvik.

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Компилируем исходный код

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Для котлина есть kotlinc компилятор, который делает совместимый с Java байткод.

Байткод — это набор инструкций, который выполняется на целевом устройстве.

Java байткод — это набор инструкций для Java виртуальной машины.

Андроид виртуальная машина

Каждое андроид приложение работает на своей виртуальной машине. С версий 1.0 до 4.4, это был Dalvik. В андроид 4.4, вместе с Dalvik, Google представил в качестве эксперимента новый андроид runtime, который назывался ART

Но у андроида есть свой собственный оптимизированный формат байткода, который называется Dalvik bytecode — это просто инструкции машинного кода для процессора также как и JVM байткод.

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Dex — это аббревиатура с английского — Dalvik Executable.

Resources arsc что это. bfc89081cd988681898de8c65586225d. Resources arsc что это фото. Resources arsc что это-bfc89081cd988681898de8c65586225d. картинка Resources arsc что это. картинка bfc89081cd988681898de8c65586225d

ART против Dalvik

Преимущество ART над Dalvik проявляется в том, что приложения запускаются быстрее, потому что весь DEX байткод транслируется в машинный код во время установки, не нужно дополнительного времени на компиляцию в рантайме.

ART и Dalvik совместимы, так что приложения разработанные для Dalvik должны работать и на ART.

Компиляция Dalvik (JIT- just in time) имела такие минусы как — быстрая трата батареи, лаги в приложениях и плохой перформанс. В Dalvik трансляция происходит только когда это нужно. Мы открываем новый экран и только в этот момент происходит трансляция, за счет этого установка происходит быстрее, но при этом проседает перформанс.

Это причина по которой Google сделал Android Runtime (ART).

ART — основан на AOT (ahead of time) компиляции, она происходит до того как приложение запустится.

В ART компиляция происходит во время установки приложения. Это ведет к более долгому времени установки, но уменьшает трату батареи и избавляет от лагов, которые были на Dalvik.

В андроид 7.0 JIT вернулся. Гибридная среда сочетает фичи как от JIT компиляции так и
от ART

Среда запуска байткода это очень важная часть андроида и она вовлечена в процесс запуска и установки приложения

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Каждый этап описанного процесса

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Source Code (Исходный код)

Это Java и Kotlin файлы в src пакете.

Resource Files

Файлы находящиеся в директории с ресурсами

AIDL Files

AIDL — аббревиатура Android Interface Definition Language, позволяет вам описать интерфейс межпроцессорного взаимодействия.

AIDL — может использоваться между любыми процессами в андроиде.

Library Modules

Модули библиотек содержат Java или Kotlin классы, компоненты андроида и ресурсы.

Код и ресурсы бибилотеки компилируются и пакуются вместе с приложением.

Поэтому модуль библиотеки может считаться компайл тайм артефактом.

AAR Libraries

Андроид библиотеки компилируются в AAR — android archive файл, который вы можете использовать как зависимость для вашего android app модуля.

AAR файлы могут содержать андроид ресурсы и файл манифеста, что позволяет вам упаковать туда общие ресурсы такие как layouts и drawables в дополнение к Java или Kotlin классам и методам.

JAR Libraries

JAR это Java библиотека и в отличие от AAR она не может содержать андроид ресурсы и манифесты.

Android Asset Packaging Tool

AAPT2 — аббревиатура (Android Asset Packaging Tool) — компилирует манифест и файлы ресурсов в один APK.

Этот процесс разделен на два шага компиляцию и линковку Это улучшает производительность так как если вы поменяете один файл, вам нужно компилировать только его и прилинковать к остальным файлам командой ‘link’

AAPT2 может компилировать все типы андроид ресурсов, таких как drawables и XML файлы.

При вызове AAPT2 для компиляции, туда передается по одному ресурсному файлу на каждый вызов

resources.arsc

APK содержит AndroidManifest, бинарные XML файлы и resources.arsc

resource.arsc содержит всю мета информацию о ресурсах, такую как индексы всех ресурсов в пакете

Это бинарный файл и APK который может быть запущен. APK который вы обычно создаете и запускаете не сжат и может быть использован просто посредством размещения в памяти.

R.java файл это выходной файл вместе с APK ему назначен уникальный id, который позволяет Java коду использовать ресурсы во время компиляции.

arsc это индекс ресурса который используется во время запуска приложения

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

D8 и R8

Начиная с андроид студии 3.1 и далее, D8 был сделан дефолтным компилятором.

D8 производит более маленькие dex файлы с лучшей производительностью, если сравнивать со старым dx.

R8 используется для компиляции кода. R8 это оптимизированная версия D8

D8 играет роль конвертера класс файлов в Dex файлы, а также производит дешугаринг функций из Java 8 в байткод, который может быть запущен на андроиде

R8 оптимизирует dex байткод. Он предоставляет такие фичи как оптимизация, обфускация, удаление ненужных классов.

Обфускация уменьшает размер вашего приложения укорачивая названия классов, методов и полей.

Обфускация имеет и другие преимущества для предотвращения реверс инжиниринга, но основная цель уменьшить размер.

Оптимизация уменьшает размер Dex файла путем переписывания ненужных частей кода и инлайнинга.

С помощью дешугаринга мы можем использовать удобные фичи языка Java 8 на андроиде.

Resources arsc что это. image loader. Resources arsc что это фото. Resources arsc что это-image loader. картинка Resources arsc что это. картинка image loader

Dex and Multidex

R8 дает на выходе один DEX файл, который называется classes.dex

Если количество методов приложения переваливает за 65,536, включая подключенные библиотеки, то произойдет ошибка при билде

Источник

Реверс-инжиниринг

Resources arsc что это. computer cat. Resources arsc что это фото. Resources arsc что это-computer cat. картинка Resources arsc что это. картинка computer cat

Вы потеряли исходник своей программы и вам нужно восстановить код. Вы скачали программу с вирусом и хотите узнать, что он делает.

Программы под Android распространяются в архивах. Эти архивы имеют расширение «.apk». Такие файлы не шифруются и являются по сути файлами «zip». Можете переименовать apk-файл в zip, чтобы убедиться в этом.

Вам необходимо поковыряться в APK-файле и получить какие-то данные. Можно потренироваться на кошках. Возьмём свою программу «Hello Kitty», найдём его apk-файл в папке проекта app\build\outputs\apk и переместим в отдельную папку для опытов.

Так как пользовательские приложения для Android выполняются в java-машине, то APK-файлы наследуют все характерные черты JAR-файлов.

Содержимое архива обычно выглядит примерно так:

Resources arsc что это. apk. Resources arsc что это фото. Resources arsc что это-apk. картинка Resources arsc что это. картинка apk

Каталог META-INF содержит:

CERT.RSA — сертификат приложения
CERT.SF — контрольные суммы файлов ресурсов (картинок, звуков и т.д.)
MANIFEST.MF — служебная информация, описывающая сам apk-файл

Каталог res содержит ресурсы — значки в нескольких разрешениях, описание размещения элементов на форме в xml-файле.

AndroidManifest.xml — служебная информация о приложении. В этом файле содержатся и так называемые «permission» — разрешения, которые требуются для работы приложения (например, доступ к сети или доступ к телефонной книге).

classes.dex — исполняемый код приложения. Именно этот файл интересует нас в первую очередь.

resources.arsc — таблица ресурсов. В этом файле собраны xml-описания всех ресурсов.

Вот и вся краткая информация, которую нужно знать, приступая к разбору вредоносных программ под Android.

Теперь рассмотрим популярные утилиты, используемые для изучения программ.

Apktool

Для начала скачиваем утилиту Apktool, который представляет собой jar-файл с номером версии. Для удобства переименовываем его в короткий вид apktool.jar, так как будем работать в командной строке. Подопытный файл разместите в той же папке с утилитой.

Запускаем в окне командной строки утилиту с флагом d:

Resources arsc что это. reverse engineering1. Resources arsc что это фото. Resources arsc что это-reverse engineering1. картинка Resources arsc что это. картинка reverse engineering1

Появится отдельная папка, имя которой будет совпадать с именем вашего файла. Зайдите в неё и исследуйте файлы. Вы заметите, что XML-файлы теперь доступны для чтения в нормальном виде. Таким образом, мы можем открыть файл activity_main.xml и узнать разметку своей активности.

В папке вы также найдёте множество системных файлов, которые проект тянет с собой при создании приложения. На них не обращаем внимания. Вам нужно искать только те файлы, которые создавали программисты, хакеры, вы.

При изучении своей или чужой программы вам надо посмотреть на файл манифеста, чтобы узнать используемые разрешения, список активностей, сервисов и т.д. А в папке res изучить все ресурсы, относящиеся к программе.

Моя тестовая программа была слишком проста. В других примерах могут быть дополнительные папки, например, assets, которая может содержать файлы, картинки и т.д. Там могут находиться html-файлы с сценариями на Javascript, которые ведут на вредные страницы.

В папке smali находятся уже файлы классов с тем же расширением smali. Код выглядит как в ассемблере и при желании можно понять листинг, но очень неудобно. Оставив файлы пока в покое.

Первую часть задачи мы выполнили.

dex2jar

Вторая утилита dex2jar, позволяет преобразовать файлы dex в jar. Скачиваем последнюю версию и распаковываем архив утилиты. Утилита содержит множество файлов для различных ситуаций. Можете поизучать их на досуге.

Запускаем команду d2j-dex2jar.bat app-debug.apk и получаем на выходе файл app-debug-dex2jar.jar. Это стандартный тип файлов для Java, но для нас пока не слишком полезный. Тем не менее мы выполнили второй шаг и получили промежуточный файл.

JD-GUI

Утилита, которая поможет нам прочитать jar-файл, называется JD-GUI. На странице разработчика можно найти ссылки на плагины к средам разработки и даже онлайн-версию.

Запускаем программу и перетаскиваем на него jar-файл. И весь код на ладони.

Resources arsc что это. reverse engineering2. Resources arsc что это фото. Resources arsc что это-reverse engineering2. картинка Resources arsc что это. картинка reverse engineering2

Обратите внимание, что код немного будет отличаться. Например, код в студии:

Сравните с кодом в утилите.

Иными словами, вместо констант из класса R подставляются их реальные значения. Вам придётся попотеть, чтобы сопоставить данные. Но вы справитесь, я в вас верю.

Burp Suite

Burp Suite позволит вам просматривать HTTP-траффик на эмуляторе. Скачайте последнюю версию.

Далее следует настроить прокси и другие параметры.

Разбор вредоносной программы

В качестве примера возьмем программу suspicious.apk, который детектируется разными антивирусами как вредоносная программа.

Чтобы лучше понять, что именно искать, нужно проанализировать файл «AndroidManifest.xml» — посмотреть, какие именно разрешения требуются анализируемому приложению. Данный файл бинарный, а не обычный текстовый xml. Для того, чтобы его прочитать нужно воспользоваться консольной утилитой «aapt» из комплекта Android SDK. Она находится в каталоге «platform-tools». Так как графического интерфейса нет, то команду нужно вводить в консоли. Например, для Windows:

Разумеется, вы должны подставить свои пути. В Linux команда будет такой же с очевидными отличиями (не будет букв дисков и расширения «exe» у утилиты). Для большего удобства вывод можно перенаправить в файл:

В файле нужно найти секцию «Android manifest» и искать перечисление разрешений. В анализируемом файле это выглядит так:

Из этой информации становится понятно, что программа может получать состояние телефона (сюда включаются, например «телефон в режиме вызова», «телефон в режиме принятия данных»). Это разрешение нужно и для получения номера телефона, на котором запущена программа, работать с сетью и мониторить приход СМС. На этих аспектах и нужно сосредоточить внимание при дальнейшем анализе.

Для того, чтобы получить доступ к коду нужно выполнить два шага — преобразовать apk-файл в jar-файл и декомпилировать полученный байткод в более понятный для человека вид.

Воспользуемся конвертером «dex2jar»:

Сконвертированный файл будет находится в том же каталоге, что и оригинальный файл. К его имени будет добавлено «.dex2jar.jar», то есть в данном примере это будет «suspicious.apk.dex2jar.jar».

Этот файл можно открыть декомпилятором. Иерархия пакета в окне декомпилятора выглядит так:

Resources arsc что это. apk2. Resources arsc что это фото. Resources arsc что это-apk2. картинка Resources arsc что это. картинка apk2

На этом подготовительные шаги заканчиваются — дальнейший успех зависит только от вашего знания Java и умения пользоваться поисковиком.

К счастью, экземпляр выбранный для примера имеет довольно скромные размеры — финальный jar всего 7,01 KB.

В программе всего шесть классов. Исключим те, которые не представляют интереса. Это класс R, в котором только перечислены идентификаторы всех ресурсов. Так же из рассмотрения можно исключить класс Config, в котором содержится конфигурация сборки.

Рассмотрим подробнее оставшиеся три класса.

Activation

Resources arsc что это. apk3. Resources arsc что это фото. Resources arsc что это-apk3. картинка Resources arsc что это. картинка apk3

Этот класс срабатывает по событию onCreate(), то есть сразу после старта приложения.

TelephonyManager localTelephonyManager = (TelephonyManager)getSystemService(«phone»); — создает localTelephonyManager, в которую помещает данные об устройстве.

str1 = localTelephonyManager.getDeviceId(); — выбирает из полученных данных идентификационный номер устройства и помещает его в строку str1

Дальше идет цикл, который делит DeviceId на кусочки по четыре цифры, вставляя между ними дефис «-«, то есть из XXXXXXXXXXXXXXXX получается XXXX-XXXX-XXXX-XXXX. Полученную строку цифр и дефисов передают в TextView с идентификатором 2131034112.

SmsReciever

Resources arsc что это. apk4. Resources arsc что это фото. Resources arsc что это-apk4. картинка Resources arsc что это. картинка apk4

Этот класс срабатывает при приходе СМС-сообщения, событие onReceive().

В задачу этого класса входит отслеживать входящие смс и в случае обнаружения запускать класс MainService, передавая ему указатель на новое пришедшее сообщение.

MainService

Этот класс довольно велик, поэтому не стану приводить его целиком. Сразу после вызова запускает субкласс «SmsBlockerThread», который блокирует уведомление о поступившем СМС, чтобы пользователь не был оповещен о новом входящем СМС.

Затем входящее СМС обрабатывается таким образом:

Resources arsc что это. apk5. Resources arsc что это фото. Resources arsc что это-apk5. картинка Resources arsc что это. картинка apk5

String str1 = localSmsMessage.getOriginatingAddress(); — номер телефона-получателя (то есть номер телефона, на котором установлен троянец) помещается в переменную str1.

String str2 = localSmsMessage.getMessageBody(); — тело сообщения помещается в переменную str2

Затем создаются связанные пары localBasicNameValuePair1 и localBasicNameValuePair2 в которые помещаются значения

Эти пары сохраняют в массив localArrayList, в который позже добавляют пару localBasicNameValuePair3, представляющую собой устройства>

Resources arsc что это. apk6. Resources arsc что это фото. Resources arsc что это-apk6. картинка Resources arsc что это. картинка apk6

При этом, как видите, DeviceId получается заново, а не используется то, что было получено в классе Activation. Заканчивается тем, что вызывается метод postRequest() из последнего класса ServerSession:

В качестве параметра передается тот самый массив пар, в котором номер телефона, содержимое СМС и идентификатор устройства.

ServerSession

Этот класс имеет два метода: initUrl(), который возвращает часть ссылки «(http://softthrifty.com/security.jsp)»:

и большой метод postRequest(), который вызывался из класса MainService. Несмотря на размер, задача postRequest() проста — отправить на сервер по ссылке, возвращаемой методом initUrl(), данные, добавив пары из массива, собранного в MainService. То есть всего лишь обратиться по ссылке:

Итак, данный троянец перехватывает СМС и отправляет на сервер запрос, в котором передает номер зараженного телефона, содержимое СМС и идентификатор зараженного телефона. Такое поведение может быть признаком банковского троянца, атакующего двухфакторную авторизацию. Для успешной атаки требуется выполнение таких условий:

1) злоумышленник должен заразить компьютер жертвы, чтобы перехватить данные для он-лайн банкинга;
2) злоумышленник должен заразить телефон жертвы для перехвата СМС с кодом подтверждения от банка;
3) злоумышленник должен каким-то образом связать пользователя зараженного компьютера и зараженного телефона, чтобы знать, от каких учетных данных он-лайн банкинга данный код подтверждения;

В силу своих размеров и очевидности производимой деятельности такой образец хорошо подходит для демонстрации базовых приемов разбора вредоносных программ под Андроид.

Источник

Расширение файла ARSC

Google Android Resource Format

Что такое файл ARSC?

Для чего используются файлы ресурсов?

Программы, которые поддерживают ARSC расширение файла

Следующий список содержит программы, сгруппированные по 4 операционным системам, которые поддерживают ARSC файлы. ARSC файлы можно встретить на всех системных платформах, включая мобильные, но нет гарантии, что каждый из них будет должным образом поддерживать такие файлы.

Программы, обслуживающие файл ARSC

Как открыть файл ARSC?

Проблемы с доступом к ARSC могут быть вызваны разными причинами. К счастью, наиболее распространенные проблемы с файлами ARSC могут быть решены без глубоких знаний в области ИТ, а главное, за считанные минуты. Мы подготовили список, который поможет вам решить ваши проблемы с файлами ARSC.

Шаг 1. Получить Google Android SDK Tools

Шаг 2. Убедитесь, что у вас установлена последняя версия Google Android SDK Tools

Resources arsc что это. update software. Resources arsc что это фото. Resources arsc что это-update software. картинка Resources arsc что это. картинка update softwareЕсли у вас уже установлен Google Android SDK Tools в ваших системах и файлы ARSC по-прежнему не открываются должным образом, проверьте, установлена ли у вас последняя версия программного обеспечения. Иногда разработчики программного обеспечения вводят новые форматы вместо уже поддерживаемых вместе с новыми версиями своих приложений. Причиной того, что Google Android SDK Tools не может обрабатывать файлы с ARSC, может быть то, что программное обеспечение устарело. Все форматы файлов, которые прекрасно обрабатывались предыдущими версиями данной программы, также должны быть открыты с помощью Google Android SDK Tools.

Шаг 3. Назначьте Google Android SDK Tools для ARSC файлов

Если проблема не была решена на предыдущем шаге, вам следует связать ARSC файлы с последней версией Google Android SDK Tools, установленной на вашем устройстве. Процесс связывания форматов файлов с приложением по умолчанию может отличаться в деталях в зависимости от платформы, но основная процедура очень похожа.

Resources arsc что это. associate software. Resources arsc что это фото. Resources arsc что это-associate software. картинка Resources arsc что это. картинка associate software

Изменить приложение по умолчанию в Windows

Изменить приложение по умолчанию в Mac OS

Шаг 4. Убедитесь, что ARSC не неисправен

Вы внимательно следили за шагами, перечисленными в пунктах 1-3, но проблема все еще присутствует? Вы должны проверить, является ли файл правильным ARSC файлом. Вероятно, файл поврежден и, следовательно, недоступен.

Resources arsc что это. check file. Resources arsc что это фото. Resources arsc что это-check file. картинка Resources arsc что это. картинка check file

1. Убедитесь, что ARSC не заражен компьютерным вирусом

Если файл заражен, вредоносная программа, находящаяся в файле ARSC, препятствует попыткам открыть его. Немедленно просканируйте файл с помощью антивирусного инструмента или просмотрите всю систему, чтобы убедиться, что вся система безопасна. ARSC файл инфицирован вредоносным ПО? Следуйте инструкциям антивирусного программного обеспечения.

2. Убедитесь, что структура файла ARSC не повреждена

Если вы получили проблемный файл ARSC от третьего лица, попросите его предоставить вам еще одну копию. В процессе копирования файла могут возникнуть ошибки, делающие файл неполным или поврежденным. Это может быть источником проблем с файлом. При загрузке файла с расширением ARSC из Интернета может произойти ошибка, приводящая к неполному файлу. Попробуйте загрузить файл еще раз.

3. Проверьте, есть ли у пользователя, вошедшего в систему, права администратора.

Некоторые файлы требуют повышенных прав доступа для их открытия. Войдите в систему, используя учетную запись администратора, и посмотрите, решит ли это проблему.

4. Убедитесь, что в системе достаточно ресурсов для запуска Google Android SDK Tools

Если в системе недостаточно ресурсов для открытия файлов ARSC, попробуйте закрыть все запущенные в данный момент приложения и повторите попытку.

5. Убедитесь, что ваша операционная система и драйверы обновлены

Регулярно обновляемая система, драйверы и программы обеспечивают безопасность вашего компьютера. Это также может предотвратить проблемы с файлами Google Android Resource Format. Устаревшие драйверы или программное обеспечение могли привести к невозможности использования периферийного устройства, необходимого для обработки файлов ARSC.

Вы хотите помочь?

Если у Вас есть дополнительная информация о расширение файла ARSC мы будем признательны, если Вы поделитесь ею с пользователями нашего сайта. Воспользуйтесь формуляром, находящимся здесь и отправьте нам свою информацию о файле ARSC.

Источник

Русские Блоги

Подробное объяснение ресурса Rsources.arsc в приложении Android6.0

Краткое описание процесса упаковки ресурсов

При разработке приложения вам нужны код и ресурсы. Код в конечном сгенерированном apk преобразуется в файл dex, поэтому ресурсы в файле apk остаются теми же файлами ресурсов во время разработки приложения? Или были какие-то изменения в этих файлах ресурсов?

Чтобы процитировать картину Лао Ло о процессе упаковки ресурсов и поиска:

Resources arsc что это. 43946faa88b33fcdc0348be40d62bb24. Resources arsc что это фото. Resources arsc что это-43946faa88b33fcdc0348be40d62bb24. картинка Resources arsc что это. картинка 43946faa88b33fcdc0348be40d62bb24

Как видно из рисунка выше:

За исключением ресурсов и ресурсов res / raw, которые упакованы в APK в их исходном виде, другие ресурсы будут скомпилированы или обработаны. XML-файл будет скомпилирован в двоичный XML-файл, поэтому после распаковки apk-файла XML-файл нельзя открыть напрямую.

В дополнение к ресурсам ресурсов другим ресурсам будет присвоен идентификатор ресурса.

Инструмент упаковки отвечает за компиляцию и упаковку ресурсов. После завершения компиляции будет создан файл resources.arsc и файл R.java. Первый сохраняет таблицу индекса ресурсов, а последний определяет различные константы идентификатора ресурса для индексации ресурсов в коде.

Файл конфигурации приложения AndroidManifest.xml также будет скомпилирован в двоичный XML-файл, а затем упакован в APK.

Когда приложение запущено, к ресурсу, наконец, осуществляется доступ через AssetManager, либо через идентификатор ресурса, либо через имя файла.

В сгенерированном apk, только активы и ресурсы res / raw упакованы в apk без изменений. Все остальные ресурсы будут скомпилированы или обработаны. Вы можете использовать следующую команду для просмотра списка файлов в apk:

После распаковки apk напрямую вы обнаружите, что xml не может быть открыт, что указывает на неправильный формат, поскольку он стал двоичным xml. Кроме того, такие изображения, как PNG, также будут соответствующим образом оптимизированы. Есть еще один файл resources.arsc.

Вещи, чтобы подготовить

Проанализируйте файл resources.arsc, он должен существовать. Используйте Android studio для создания проекта ResourceDemo,

Ресурсы можно разделить на две категории: ресурсы типа сумки и ресурсы не сумки.

Ресурс мешка: с точки зрения непрофессионала, этот тип ресурса не может быть назначен случайным образом при назначении значения, только одно назначение может быть выбрано из предварительно определенных значений. Очень похоже на перечисление.

В дополнение к строкам, у ресурсов значений типов есть много других типов ресурсов, некоторые из которых являются более специальными, такие как bag, style, множественное число и ресурсы массива. Эти ресурсы будут определять некоторые специальные значения для себя, и эти ресурсы со специальными значениями вместе называются ресурсами Bag.

Например, диапазон значений атрибута android: direction, предоставляемый системой Android, равен <"vertical", "горизонтальный">, что эквивалентно определению двух пакетов вертикального и горизонтального.

Создайте файл attrs.xml в res / values ​​и настройте в нем ресурс атрибута типа сумки.

Этот файл определяет ресурс атрибута с именем «custom_orientation», который является атрибутом в формате перечисления (также понимаемом как тип перечисления) и может принимать значение «custom_vertical» или «custom_horizontal».

«Custom_orientation» является перечисляемым ресурсом атрибута attr, и для описания его типа атрибута также используются внутренние метаданные. Эти метаданные также представлены сумкой.

Другими словами, custom_orientation состоит из трех пакетов:

Первый пакет: имя «^ type» и значение TYPE_ENUM (TYPE_ENUM = 1

Интеллектуальная рекомендация

Resources arsc что это. 2c76205949533743229b1bbea80114ec. Resources arsc что это фото. Resources arsc что это-2c76205949533743229b1bbea80114ec. картинка Resources arsc что это. картинка 2c76205949533743229b1bbea80114ec

URL-тур

URL-тур Во всем процессе он может быть примерно разделен на следующие процессы. DNS-анализ домена TCP соединение HTTP-запрос Запрос процессов Возвращает ответ HTTP Рендеринг страницы Выключить соедине.

Resources arsc что это. 83ac30a87c6c518d78de5d66380a7585. Resources arsc что это фото. Resources arsc что это-83ac30a87c6c518d78de5d66380a7585. картинка Resources arsc что это. картинка 83ac30a87c6c518d78de5d66380a7585

Руководство по обзору кода на основе GitLab

Luo Valley P3809 (вопросы массива суффикса)

Resources arsc что это. f7e0cc57a588389af82262efc346ebb5. Resources arsc что это фото. Resources arsc что это-f7e0cc57a588389af82262efc346ebb5. картинка Resources arsc что это. картинка f7e0cc57a588389af82262efc346ebb5

phpMyAdmin сообщает об ошибках на главной странице

[Феномен]: phpMyAdmin сообщает о фатальной ошибке: необученная ошибка: вызов неопределенной функции mb_detect_encoding () [Анализ причины]: На этой домашней странице следует подумать, открыты ли библи.

Resources arsc что это. 77d930e597c203c2f72b5feb3c2cfaa4. Resources arsc что это фото. Resources arsc что это-77d930e597c203c2f72b5feb3c2cfaa4. картинка Resources arsc что это. картинка 77d930e597c203c2f72b5feb3c2cfaa4

Что такое алгоритм фильтра Блума?

Нажмите вышеСинее словоУстановить звезду Начнем сегодняшнее исследование

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *