Mobile Security Platform
Android Package Kit-APK
AndroidManifest.xml: This file contains information about the application, including its package name, version number, required permissions, and components such as activities, services, and broadcast receivers.
Classes.dex: This file contains the compiled Java bytecode for the application’s classes, which are executed by the Android Runtime (ART). METTA-INF:In this folder, you will find the manifest file, the APK signature certificate, and a comprehensive list of all the APK’s files, complete with their respective checksums.
MANIFEST.MF: Contains a list of names/hashes (usually SHA256 in Base64) for all the files of the APK.
CERT.SF: Contains a list of names/hashes of the corresponding lines in the MANIFEST.MF file.
CERT.RSA: This file contains the public key and the signature of CERT.SF.
Assets: Contains assets that developers bundle with the application, and can be retrieved by the AssetManager. These assets can be images, videos, documents, databases, etc.
lib: Contains native libraries with compiled code, for different device architectures.
res: Contains predefined application resources, like XML files that define a state list of colors, user interface layout, fonts, values, etc
AndroidManifest.xml: A manifest file that describes the application’s package name, activities, resources, version, etc.
classes.dex: Contains all the java classes in a dex (Dalvik Executable) file format, to be executed by the Android Runtime
resources.arsc: This file comprises compiled assets, including strings, images, and layouts, which the application utilizes.
Android Architecture:
Linux kernel:-It is the heart of android architecture that exists at the root of android architecture. Linux kernel is responsible for device drivers(Camera driver, wifi driver, audio driver), power management, memory management, device management and resource access
On top of linux-kernel there comes Hardware Abstraction Layer. it just gives Applications direct access to the Hardware resources.
Platform Libraries: SSL, WebKit, SQLite, Media Framework, Surface Manager
Android Runtime (ART): is a alternative to Dalvik Virtual Machine which has been released with Android 4.4 as an experimental release, in Android Lollipop(5.0) it will completely replace Dalvik Virtual Machine.Major change in ART is because of Ahead-of-time(AOT) Compilation and Garbage Collection. In Ahead-of-time(AOT) Compilation ,android apps will be compiled when user installs them on their device whereas in the Dalvik used Just-in-time(JIT) compilation in which bytecode are compiled when user runs the app.
P.S: Dalvik Virtual Machine which was specifically designed by Android Open Source Project to execute application written for Android. Each app running in the Android Device had its own Dalvik Virtual Machine
Application Framework: Activity Manager, Window Manager, notification manager, location manager, content providers
References:
https://media.geeksforgeeks.org/wp-content/uploads/20240527105114/Android_Architecture.webp
https://mas.owasp.org/MASTG/0x05a-Platform-Overview/
Home
Search