← all writeups
Mobile

Android App Pentesting in 2026: MASVS-Aligned Method, Frida Workflow and the Findings That Matter

Oct 09, 2026 · 9 min · by Abhishek Bhaskar (Abhi HackZ)
Android App Pentesting in 2026: MASVS-Aligned Method, Frida Workflow and the Findings That Matter — cover

Android app testing rewards a method. The apps vary wildly, but the places bugs hide do not: an over-exported component, a secret baked into the APK, a token in plaintext storage, a business-logic check that only exists in the UI. Walk the same route every time and you stop missing the obvious and start finding the subtle.

This is the repeatable Android methodology I use, mapped to OWASP MASVS v2 (the Mobile Application Security Verification Standard — the community baseline for what a secure mobile app must do) and backed by the MASTG (the Mobile Application Security Testing Guide, which turns those requirements into concrete tests). It covers static review, dynamic instrumentation with Frida, the network and storage layers, mobile auth logic, and reporting. Everything here assumes you are testing an app you are authorized to test.

Scoping and setup

Before touching the app, pin down authorization and environment. Every technique below is legitimate only on apps you own or are explicitly contracted to test; a signed scope and rules of engagement come first. A practical lab:

The honest framing: rooting and pinning bypass are techniques for your lab, to observe an app you are allowed to inspect — not a way around someone else's protections in the wild.

Static review

Static review is cheap and finds a surprising share of real issues. Start with the manifest, which declares the app's attack surface.

The manifest

Unpack the APK and read AndroidManifest.xml. I look for:

Secrets and the obfuscation misconception

Decompile and grep the smali/Java and resources for API keys, tokens, endpoints and credentials; they show up constantly in string resources, BuildConfig, and third-party SDK config.

The misconception I correct most often: obfuscation is not security. Obfuscation renames symbols; it does not remove a hardcoded key from the binary, and anyone with the APK can extract it. The correct control is to not ship the secret at all: keep it server-side behind an authenticated call. If a credential is in the APK, treat it as public.

This maps to MASVS-STORAGE (data should not be exposed) and MASVS-CRYPTO (keys handled properly).

Dynamic: the Frida workflow

Frida is a dynamic instrumentation toolkit: it injects a JavaScript engine into a running process so you can hook functions, read and change arguments and return values, and observe behaviour live — what the app actually does, not what the decompiled code suggests.

The workflow is always the same shape: attach, find the method, hook it, observe or modify.

// Generic shape of a Frida hook — observe a method's inputs and output.
Java.perform(function () {
  var Target = Java.use("com.example.app.SomeClass");

  Target.someMethod.implementation = function (arg) {
    console.log("[*] someMethod called with: " + arg);
    var result = this.someMethod(arg);   // call the original
    console.log("[*] someMethod returned: " + result);
    return result;                        // pass it through unchanged
  };
});

Two bypasses come up on almost every engagement, both legitimate in your own lab to let you observe the app:

Keep the distinction clear in your report: bypassing a control to observe the app is method; a control that fails to protect data an attacker can reach is a finding.

Network layer

With traffic visible, the network layer is where mobile meets API testing (MASVS-NETWORK and MASVS-AUTH territory).

Local storage and IPC

What the app leaves on the device, and how it talks to other apps, is where mobile findings cluster (MASVS-STORAGE and MASVS-PLATFORM).

A worked example: an app stores the session token in plaintext SharedPreferences and allowBackup is true. Neither alone feels dramatic, but together the session is extractable via backup without root — storage weakness plus backup exposure equals account access. Chaining is what turns "medium" observations into accurate severity.

Business-logic and auth flows on mobile

Some of the best mobile findings are logic, not memory corruption.

The through-line: the client is attacker-controlled. Any decision made only on the device can be changed with the instrumentation above, so every such decision must be re-made on the server.

Evidence and reporting

A finding is only as good as the proof. For each issue I capture:

For running this repeatably I use SentryScan Mobile, my own tool for the Android workflow — static triage, instrumentation helpers and evidence capture in one place. It speeds the mechanical parts; the judgment calls are still yours.

Tester's checklist

Fixes / defence

Takeaways

Learn more

Related: BOLA, Mass Assignment and the API Bugs That Still Pay in 2026 · Bug Bounty in 2026: VDPs, AI-Assisted Triage and Hall of Fame Credit. Need this tested on your product? Book a free 30-minute scoping call.

KEEP READING
Abhishek Bhaskar (Abhi HackZ)
Security Analyst & VAPT Engineer
Book a free 30-min security scoping call →