interceptor_frida_attach
Attach to Android apps via Frida to bypass SSL certificate pinning, OkHttp CertificatePinner, TrustManager, and native TLS verification for proxy interception.
Instructions
Attach to an Android app via Frida and inject SSL unpinning + proxy redirect scripts. Bypasses certificate pinning, OkHttp CertificatePinner, TrustManager, and native TLS verification.
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| serial | Yes | ADB device serial | |
| app_name | No | App process name or package identifier | |
| pid | No | Process ID to attach to (alternative to app_name) |
Implementation Reference
- src/tools/interceptors.ts:662-692 (handler)Registration and handler implementation for the interceptor_frida_attach tool.
server.tool( "interceptor_frida_attach", "Attach to an Android app via Frida and inject SSL unpinning + proxy redirect scripts. Bypasses certificate pinning, OkHttp CertificatePinner, TrustManager, and native TLS verification.", { serial: z.string().describe("ADB device serial"), app_name: z.string().optional().describe("App process name or package identifier"), pid: z.number().optional().describe("Process ID to attach to (alternative to app_name)"), }, async ({ serial, app_name, pid }) => { try { if (!app_name && pid === undefined) { return { content: [{ type: "text", text: JSON.stringify({ status: "error", error: "Either app_name or pid is required." }) }] }; } const proxyInfo = requireProxy(); const result = await interceptorManager.activate("android-frida", { ...proxyInfo, serial, appName: app_name, pid, }); return { content: [{ type: "text", text: JSON.stringify({ status: "success", ...result }), }], }; } catch (e) { return { content: [{ type: "text", text: JSON.stringify({ status: "error", error: errorToString(e) }) }] }; } }, );