Android (.apk)
- Use apktool to decompile the app into its resources and smali (assembly) code.
- Use dex2jar to convert the app's classes.dex file into a .jar file.
- Use a Java decompiler (e.g., jd-gui, JADX) to view the Java source code.
A deep dive into the mobile binary and its server-side APIs, covering insecure storage, weak crypto, and detection bypasses.

A Mobile Application Penetration Test (MAPT) is a security assessment focused on identifying and exploiting vulnerabilities in a mobile application, its backend APIs, and its interactions with the mobile operating system (iOS or Android).
The goal is to identify weaknesses that could lead to unauthorized access, data theft, privilege escalation, or other malicious activities. This is a hybrid assessment that combines elements of:
This methodology is heavily guided by the OWASP Mobile Top 10 project, which outlines the most critical mobile application security risks.
This phase involves analyzing the application binary without running it.
This phase involves running the app on a device and interacting with it.
The following is OWASP Mobile Top 10 2024.
| Code | Vulnerability | Explanation |
|---|---|---|
| M1 | Improper Credential Usage | The risks associated with mishandling authentication credentials. This includes hardcoding API keys or tokens in the app binary, failing to use the secure storage mechanisms (like iOS Keychain or Android Keystore), or transmitting credentials in plaintext. |
| M2 | Inadequate Supply Chain Security | A new and critical addition. This addresses the risks of using third-party libraries, SDKs, or components that may be vulnerable, malicious, or outdated. It highlights that your app is only as secure as its weakest dependency. |
| M3 | Insecure Authentication/Authorization | This merges the old M4 and M6. It covers vulnerabilities where the app fails to verify the user's identity correctly (authentication) or fails to enforce what an authenticated user is allowed to do (authorization), leading to unauthorized access or privilege escalation. |
| M4 | Insufficient Input/Output Validation | This covers injection attacks (SQLi) and issues like Cross-Site Scripting (XSS) within WebViews. It emphasizes that mobile apps, just like web apps, must sanitize all data coming in from users or external APIs. |
| M5 | Insecure Communication | Retained from the old list. This refers to data traversing the network without adequate protection, such as using HTTP, failing to validate SSL/TLS certificates, or failing to implement certificate pinning for high-security apps. |
| M6 | Inadequate Privacy Controls | Another significant modern addition. This focuses on the excessive collection of Personally Identifiable Information (PII), accessing sensitive sensors (camera, GPS) without consent, or leaking user data to third parties (advertisers/analytics) inadvertently. |
| M7 | Insufficient Binary Protection | This merges the old M8 (Tampering) and M9 (Reverse Engineering). It addresses the lack of code obfuscation, root/jailbreak detection, and anti-tampering mechanisms, which makes it easier for attackers to analyze and modify the app. |
| M8 | Security Misconfiguration | Adopted from the Web Top 10. This covers insecure default settings, leaving debug features enabled in production, or misconfigured cloud storage (e.g., AWS S3 buckets) accessed by the app. |
| M9 | Insecure Data Storage | While dropped from #2 to #9, it remains critical. It refers to storing data insecurely on the device file system, such as in standard XML files, SQLite databases, or log files, without encryption. |
| M10 | Insufficient Cryptography | The use of weak, deprecated, or custom encryption algorithms (e.g., MD5, SHA1, RC4) instead of industry standards (AES, SHA-256), or implementing crypto protocols incorrectly. |
Chain vulnerabilities to demonstrate maximum impact.
Example 1 (Data Theft):
Example 2 (Account Takeover)
Example 3 (On-Device Theft)
Remediation and Re-testing
Tell us about your environment and objectives — we'll return a tailored scope, timeline, and quote within 24 hours.
Request a Free Scoping Call