frida-tracing-discovery
Skill1 starsChanged 2 months agoMITView on GitHub
Find unknown Frida hook points in iOS and native processes through targeted method, module, and symbol discovery. Use when a call path is unknown or an existing hook does not reach the behavior.
1 other project uses a version of this.
Adopted by
Most recently taken up by
- Rudra-ravi/frida-skillstheir own version, first seen May 8, 2026
Other versions1 project uses a version of this.
Word for word · 0
None found.
Edited · 0
None found.
Wrote their own version · 1
- Rudra-ravi/frida-skills★ 3same name
How matches are found. Word for word: the exact same text. Edited: shares passages with this file (“99% same” means 99% of its five-word phrases also appear here; 10% or more counts). Their own version: similar meaning, or, weakest, the same name. We can’t tell which project had it first. Projects are counted among the 200 most-starred candidates, and mentions are links to the repository we found, up to 50 per site, so both counts are a floor.
In this repository5 other files it gives its agents.
- AGENTS.mdAGENTS.md
- frida-ios-hooksSkill
- frida-script-reviewSkill
- frida-troubleshootingSkill
- ios-tweak-developmentSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 2 are distinctive, and 1 is very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈2
Distinctive · estimate
This author's own choices. Worth a look.
1
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
Use sampled caller stacks only if needed to locate the responsible implementation.
- Distinctive: line 52
If a symbol is absent, distinguish module load timing from stripping or a different implementation.
- Very specific: line 64
If installed, frida-ios-hooks can implement a known iOS hook and frida-troubleshooting can diagnose setup failures.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Frida Tracing Discovery
Find a hook point that runs during the target action and provides enough evidence for the next implementation step.
Start at a Relevant Boundary
- Establish that the behavior occurs without instrumentation.
- Choose a relevant boundary: UI action, network setup, file access, IPC, or module loading.
- Enumerate or trace around that boundary with limited output.
- Use sampled caller stacks only if needed to locate the responsible implementation.
- Replace exploratory probes with the narrowest observed hook.
Identify the exact process, loaded modules, and CLI version first. Use the discovery patterns to select a boundary and stopping condition.
CLI Tracing
These are alternatives, not a sequence to run indiscriminately. Replace VERIFIED_PID, class, module, and method patterns with the actual target:
# Objective-C method pattern:
frida-trace -U -p VERIFIED_PID -m '-[ExampleController refresh*]'
# Native export pattern:
frida-trace -U -p VERIFIED_PID -i 'ExampleFramework!*refresh*'-m selects Objective-C methods; -i selects native functions, optionally qualified by module. Check frida-trace --help for the installed options. Use startup spawning only when needed and within scope. Stop the trace with Ctrl-C after a short reproduction. Frida trace
Generated handlers may log arguments. Inspect or customize them before collecting sensitive traffic or personal data. Prefer method names, counts, and event order. Keep generated handlers and captures as local diagnostic artifacts unless the task includes retaining them.
Native Discovery
const mod = Process.findModuleByName("ExampleFramework");
if (mod !== null) {
mod.enumerateExports()
.filter(entry => entry.name.includes("refresh"))
.slice(0, 50)
.forEach(entry => console.log(mod.name, entry.name));
}If a symbol is absent, distinguish module load timing from stripping or a different implementation. Use a matching binary or caller evidence before an offset-based hook.
Callback Discipline
Check signatures before interpreting pointers. Avoid calling arbitrary getters or dumping buffers just to prove a hook fired. When a stack is useful, take a bounded sample inside the interception callback using its native context; stack collection on every hot call can distort the behavior. Frida JavaScript API
Missing ObjC in a custom Frida agent may require bridge import/bundling; test typeof ObjC before accessing it. For Objective-C discovery, distinguish inherited and locally implemented methods.
Completion
Report the process/build, selector or symbol, exact reproduction, observed hits and caller evidence, and why the point is useful. No hits are inconclusive until the process, reproduction, load timing, and overrides have been checked.
If installed, frida-ios-hooks can implement a known iOS hook and frida-troubleshooting can diagnose setup failures. Continue with the bundled guidance if those companions are absent.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

