¿Qué es el formato de archivo ARSC?
Un archivo .arsc es una tabla de recursos de Android compilada. Los archivos .arsc son utilizados por los desarrolladores para almacenar los recursos de la aplicación en un formato binario compacto que el sistema operativo puede leer de manera eficiente en tiempo de ejecución. Los archivos de recursos .arsc contienen datos estáticos -cadenas, dimensiones, colores, estilos y valores de configuración de diseño- que no cambian durante el proceso de ejecución de la aplicación. A diferencia de los activos de origen (assets) sin procesar, un archivo .arsc no incrusta imágenes directamente; los drawables binarios se almacenan como entradas separadas en otra parte del paquete. El código fuente y los archivos de recursos son compilados por aapt2 en un único paquete .apk instalable. El archivo resultante puede usarse para instalar la aplicación en un dispositivo Android.
Dentro de un .apk (o .aab), la tabla compilada siempre se llama resources.arsc y se almacena sin comprimir; desde Android 11, el tiempo de ejecución la mapea directamente en memoria en lugar de descomprimirla, por lo que debe estar alineada a 4 bytes. Todos los entornos de desarrollo de software utilizan algún tipo de archivos de recursos, pero solo Android utiliza el formato de tabla de recursos .arsc. Los archivos de recursos están diseñados para ser accedidos desde cualquier lugar del proyecto; se puede hacer referencia a ellos en todo el código fuente mediante constantes R.*, como R.string.app_name. Este enfoque permite modificar el código base sin cambiar cada línea donde se hace referencia a un recurso determinado. La tabla compilada también se puede decodificar desde una aplicación empaquetada utilizando herramientas como apktool o el APK Analyzer integrado en Android Studio.
Seguridad y protección
RIESGO: LOWresources.arsc contiene datos inertes -sin código, sin macros- por lo que el archivo en sí es inofensivo de inspeccionar. La única preocupación real es el APK del que proviene: la descompilación de una aplicación puede ir en contra de su licencia, y la edición manual de la tabla para luego volver a firmar un APK es la forma en que a veces se empaqueta el malware, así que trate los APK modificados de fuentes no confiables con sospecha.
Detalles del formato
en pocas palabrasProgramas que abren archivos ARSC
Detalles técnicos
especificación profunda| Codificación de archivo | Binario, little-endian |
| Bytes mágicos | 02 00 0C 00 en el desplazamiento 0 (ResChunk_header: tipo=0x0002 RES_TABLE_TYPE, tamaño de cabecera=0x000C) |
| Tipo MIME | application/octet-stream |
| Contenedor | Almacenado sin comprimir (método ZIP STORED, no DEFLATE) dentro de un archivo APK o AAB |
| Tamaño de archivo típico | 10 KB - 5 MB, dependiendo del número de configuraciones regionales, densidades de pantalla y tamaño del grupo de cadenas |
| Nombre de archivo interno | resources.arsc (nombre fijo dentro del ZIP del APK/AAB) |
| Formato de ID de recurso | Valor de 32 bits 0xPPTTEEEE: paquete de 8 bits, tipo de 8 bits, entrada de 16 bits; admite hasta 255 tipos y 65.535 entradas por tipo |
| Estructura de nivel superior | Fragmento (chunk) RES_TABLE que contiene un grupo de cadenas global más un fragmento de paquete por aplicación, cada uno con subfragmentos de especificación de tipo y de tipo |
| Dimensiones de configuración | Mapea cada ID de recurso a valores en múltiples configuraciones de dispositivo: idioma/región, densidad de pantalla, orientación, ancho mínimo, nivel de API y más |
| Codificación dispersa (sparse) | Tabla de entradas de tipo denso clásica por defecto; codificación dispersa opcional disponible desde Android 14 (SDK 34, 2023) para reducir el tamaño |
| Acceso en tiempo de ejecución | Mapeado en memoria (mmap) en tiempo de ejecución desde Android 11; debe estar alineado a 4 bytes y almacenado sin comprimir para permitir el acceso de copia cero |
| Protección de integridad | Sin suma de comprobación integrada; el bloque de firma APK v2/v3 que lo contiene cubre todo el archivo, incluido resources.arsc |
| Cadena de herramientas del compilador | Generado por aapt (heredado) o aapt2 (herramientas de compilación actuales de Android) a partir de archivos fuente XML res/values |
| Plataforma asociada | Solo Android; no utilizado por iOS, Windows u otras plataformas móviles |
| Desarrollador | Google / Android Open Source Project (AOSP) |
| Lanzado | 2008 (Android 1.0, part of the APK/aapt toolchain) |
| Última versión | AAPT2 binary table (current with the Android build tools); sparse-encoding option added Android 14 / SDK 34, 2023 |
| Estándar abierto | Sí · libre de regalías |
| Especificación | android.googlesource.com |
Conversiones de ARSC
Preguntas y respuestas de la comunidad
preguntado por usuariosAún no hay preguntas; sea el primero en preguntar sobre los archivos ARSC.