Frida troubleshooting
Diagnose Frida attach, spawn, version, frida-server, Gadget, hook, crash, Java, ObjC, class-loader, anti-instrumentation, and device connectivity failures.From its SKILL.md
npx -y skills add Rudra-ravi/frida-skills --skill frida-troubleshootingAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
2 things 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.
- runs commandsInstructs the agent to run 6 commands, including `frida --version` and 5 more.
SKILL.md
2.5 KB, 530 tokens by cl100k_base, as published. Nobody here has run it
Frida Troubleshooting
Use this skill before changing hook logic when Frida itself may be failing.
First Evidence
Collect exact commands and output:
frida --version
frida-ls-devices
frida-ps -Uai
For Android:
adb devices
adb shell getprop ro.product.cpu.abi
adb shell /data/local/tmp/frida-server --version
For iOS:
frida-ps -Uai
Diagnosis Order
- Version mismatch: host
frida-tools/Python package vsfrida-server/Gadget. - Device transport: USB, remote, emulator, jailbreak/root state, permissions.
- Mode mismatch: spawn needed for early code, attach sufficient only after target load.
- Runtime availability:
Java.available,Java.perform(),ObjC.available. - Loader/module timing: class, symbol, or module not loaded yet.
- Wrong overload/signature/address.
- App protection or anti-instrumentation causing early exit.
Practitioner Triage
- Reproduce with a minimal script that only logs platform/runtime availability. Load the real agent only after the minimal script works.
- If CodeShare or a universal bypass "works partly", extract which hook fired and which endpoint/behavior changed before adding more bypasses.
- If traffic still does not appear after pinning bypass, check proxy trust store, certificate transparency, native TLS, HTTP/3/QUIC, alternate endpoints, backend device integrity checks, and non-HTTP protocols.
- If a hook does not fire in an obfuscated app, hook data boundaries and stack traces instead of chasing renamed classes.
- If the app exits without logs, inspect native anti-instrumentation and early lifecycle hooks with spawn mode.
Hook Does Not Fire
- Prove the code path is executed without Frida.
- Log module/class loading before installing the hook.
- For Android, enumerate overloads and class loaders.
- For iOS/Swift, enumerate symbols/modules and hook Objective-C-visible surfaces first.
- For native code, verify signature and architecture, then attach to caller/callee boundaries.
Crash After Hook
- Remove mutation and keep logging only.
- Guard null pointers and invalid ObjC/Java objects.
- Copy values inside callbacks; do not store recycled
retval. - Check string lifetime when replacing pointer arguments.
- Narrow broad hooks that fire too often or recurse.
References
Read references/error-playbook.md for common errors, likely causes, and next checks.
What ships with it: 2 files
1.5 KB alongside SKILL.md
agents/
- openai.yaml185 B
references/
- error-playbook.md1.3 KB