| name | performing-dynamic-analysis-of-android-app |
| description | Performs runtime dynamic analysis of Android applications using Frida, Objection, and Android Debug Bridge to observe application behavior during execution, intercept function calls, modify runtime values, and identify vulnerabilities that static analysis misses. Use when testing Android apps for runtime security flaws, hooking sensitive methods, bypassing client-side protections, or analyzing obfuscated applications. |
| domain | cybersecurity |
| tags | ["mobile-security","android","frida","dynamic-analysis","owasp-mobile","penetration-testing"] |
| subdomain | mobile-security |
| author | oyi77 |
| version | 1.0.0 |
| license | Apache-2.0 |
| nist_csf | ["PR.PS-01","PR.AA-05","ID.RA-01","DE.CM-09"] |
Performing Dynamic Analysis Of Android App
Overview
Cybersecurity skill for performing dynamic analysis of android app. Follows industry best practices and security standards.
When to Use
Trigger phrases:
- "performing dynamic analysis of android app"
- "Static analysis results need runtime validation on an actual Android device"
- "The target app uses obfuscation (DexGuard, custom packers) that prevents effecti"
- "Testing requires observing actual API calls, decrypted data, or runtime-generate"
Use this skill when:
- Static analysis results need runtime validation on an actual Android device
- The target app uses obfuscation (DexGuard, custom packers) that prevents effective static analysis
- Testing requires observing actual API calls, decrypted data, or runtime-generated values
- Assessing root detection, tamper detection, or anti-debugging implementations
Do not use this skill on production environments without authorization -- dynamic instrumentation can alter app behavior and trigger security alerts.
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- Rooted Android device or emulator (Genymotion, Android Studio AVD with writable system)
- Frida server installed on device matching the architecture (arm64, x86_64)
- Python 3.10+ with
frida-tools and objection packages
- ADB configured and device connected
- Target APK installed on device
Workflow
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> :
{k: re.findall(v, text) k, v IOC_PATTERNS.items()}