Frida workflow
Ai skills for Frida dynamic instrumentation across Android, iOS, native hooks, agents, and troubleshooting
npx -y skills add Rudra-ravi/frida-skills --skill frida-workflowAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 1 stars1 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its author says it does
Copied from the file, not written here
Plan Frida instrumentation across Android, iOS, native libraries, desktop processes, Gadget, agents, setup, discovery, hook strategy, tracing, and skill routing.
SKILL.md
5.3 KB, as published. Nobody here has run it
Frida Workflow
Use this as the orchestration skill before writing or running Frida instrumentation.
Operating Rules
- Confirm authorization and target scope before instrumenting third-party software.
- Research current Frida docs when behavior depends on version, device mode, Java bridge, Gadget, or CLI flags.
- Record the exact Frida client, server, gadget, OS, architecture, package/bundle/process id, and attach/spawn mode.
- Start with observation hooks, then move to mutation only after the target and call shape are proven.
- Keep hooks small, reversible, and logged. Prefer precise class/function hooks over broad bypass scripts.
Skill Routing
- Use
frida-setup-checklistbefore hook work when host, device, version, or transport state is unknown. - Use
frida-tools-referencewhen choosing betweenfrida,frida-ps,frida-ls-devices,frida-trace,frida-discover,frida-kill, orfrida-create. - Use
frida-tracing-discoverywhen class, symbol, module, method, or call path is unknown. - Use
frida-agent-builderfor TypeScript agents, reusable script projects, RPC exports, packaging, and multi-script organization. - Use
frida-native-hooksforInterceptor,NativeFunction, memory scanning, exports, imports, symbols, CModule, and hot native paths. - Use
frida-android-hooksforJava.perform, class loaders, overloads, JNI, Android pinning analysis, and APK-backed workflows. - Use
frida-ios-hooksforObjC, Swift/Objective-C methods, modules, iOS pinning analysis, and rootless jailbreak constraints. - Use
frida-tls-pinningfor TLS/SSL pinning analysis and bypass work across Java, ObjC, Flutter, React Native, BoringSSL/OpenSSL, Conscrypt, OkHttp, and SecTrust paths. - Use
frida-anti-instrumentationfor anti-Frida, root/jailbreak, emulator, debugger, ptrace, port scan, thread-name, and integrity checks. - Use
frida-data-extractionwhen the goal is observing runtime data such as HTTP, headers, tokens, JSON, crypto inputs/outputs, preferences, files, SQLite, or memory buffers. - Use
frida-codeshare-searchto search CodeShare, extract scripts, review source, and convert public snippets into local agents or--codesharecommands. - Use
frida-script-reviewbefore running public, generated, broad, native-pointer-heavy, or mutation-heavy scripts. - Use
frida-troubleshootingwhen attach/spawn fails, hooks do not fire, the target crashes,ObjC/Javais unavailable, or versions mismatch.
Workflow
- Define the objective: state the behavior to observe or change, expected proof, and rollback condition.
- Inventory the environment:
frida --version frida-ps -Uai frida-ls-devices - Choose mode:
- Use spawn for early app initialization hooks.
- Use attach for already-running processes.
- Use Gadget when attach is blocked, no root/jailbreak path exists, or the instrumentation must load from inside the app.
- Discover before hooking:
- Native: enumerate modules, exports, imports, symbols, and readable strings.
- Android: enumerate loaded classes/methods and confirm the correct class loader.
- iOS: confirm
ObjC.available, enumerate classes/modules, and resolve Swift symbols when needed.
- Hook minimally: log entry, arguments, return values, thread/backtrace when useful, then narrow.
- Verify: prove the hook fires with target behavior, no crash, and expected logs. Save commands and script version used.
Practitioner Playbook
- Use Frida CodeShare and public snippets as reconnaissance and pattern libraries. Read the script before running it, then copy only the hooks that match the app's actual framework/version.
- Build a hook ladder: start at high-level APIs, log stack traces/callers, then move downward into framework, JNI/native, crypto, TLS, or syscall boundaries only when evidence points there.
- Prefer targeted scripts over "universal bypass" bundles once the target path is known. Broad bundles are useful to discover likely surfaces but hide which hook actually mattered.
- For obfuscated apps, follow data instead of names: URLs, headers, byte arrays, crypto inputs/outputs, file paths, reflection calls, dynamic DEX loads, and native library loads.
- Keep every experiment reproducible: exact command, target version, device, Frida version, script hash or filename, and the behavioral proof observed.
- When the target has anti-instrumentation, first prove whether detection is root/jailbreak, Frida artifacts, debugger/ptrace, emulator/device identity, package integrity, or timing.
Current Frida Notes
- Frida 17 moved the Java runtime bridge out of GumJS; TypeScript/compiled agents may need
frida-java-bridgeas an npm dependency when bundling Java APIs. - Keep Frida tools and remote
frida-server/Gadget versions aligned. Mismatches are a common source of attach and protocol failures. retvalinInterceptor.onLeave()is recycled; do not store it for later use. Convert or copy values inside the callback.- Strings allocated with
Memory.allocUtf8String()/UTF-16 helpers must be kept alive as long as the target may use them.
References
Read references/frida-sources.md when the task needs current docs, version checks, or source attribution.