rudra-ravi/frida-skills

frida-tls-pinning

Analyze and bypass TLS or SSL pinning with Frida on Android, iOS, Flutter, React Native, native BoringSSL/OpenSSL, Conscrypt, OkHttp, NSURLSession, SecTrust, and app-specific trust code.

First seen May 12, 2026

Installation

$ npx skills add rudra-ravi/frida-skills --skill frida-tls-pinning

Similar popular skills

Related neighbors and high-traction skills in the same topics — useful to compare before installing.

Also in this package

Other skills from rudra-ravi/frida-skills · top by installs.

npx skills add rudra-ravi/frida-skills

Browse all from rudra-ravi/frida-skills

More details

Agent compatibility

Declared targets from SKILL.md / docs. Unmarked agents are not listed — the skill may still install via the CLI.

Claude Code Not declared
Cursor Not declared
Codex Not declared
GitHub Copilot Not declared
Windsurf Not declared
Gemini CLI Not declared
Cline Not declared
OpenCode Not declared

Repository health

Stars 1
License LICENSE
Default branch main
Open issues 0
Status Active

Package contents

Files included with this skill beyond the listing page.

  • skill md SKILL.md 1,880 B
  • docs SUMMARY.md 211 B

History

  1. First seen on skills.sh
  2. First recorded snapshot · 73 installs

SKILL.md

Frida TLS Pinning

Use this skill when HTTPS traffic is blocked by certificate pinning or custom trust validation.

Identify The Stack First

  • Android Java: OkHttp, TrustManager, Conscrypt, WebView, network security config.
  • Android native: BoringSSL, OpenSSL, Cronet, proxygen, Flutter engine.
  • iOS: NSURLSession, delegate trust challenges, SecTrustEvaluate*, native BoringSSL.
  • Cross-platform: React Native, Flutter, Unity, custom native networking.

Do not start with a universal bypass as the final answer. Use public scripts to discover which hook fires, then keep only the needed hooks.

Android Probe

Java.perform(() => {
  for (const name of [
    "okhttp3.CertificatePinner",
    "com.android.org.conscrypt.TrustManagerImpl",
    "javax.net.ssl.SSLContext"
  ]) {
    try { console.log("found", name, Java.use(name)); } catch (_) {}
  }
});

iOS Probe

if (ObjC.available) {
  for (const name of Object.keys(ObjC.classes).filter(n => n.includes("Trust") || n.includes("Session"))) {
    console.log(name);
  }
}

Native Probe

for (const m of Process.enumerateModules()) {
  if (/ssl|crypto|boring|cronet|liger/i.test(m.name)) console.log(m.name, m.base, m.path);
}

Verification

  • Proxy is trusted by the device or app profile.
  • The hook logs during the exact request that was blocked.
  • The same request succeeds after mutation.
  • Traffic is visible or the app behavior proves trust validation was bypassed.
  • The final script documents app version, platform, library, and rollback command.

References

Read references/tls-patterns.md for framework-specific hook options.