skillZs
★ LIVE SKILL TAGS ★
>>> LIVE SKILLS INDEX <<<
* OPEN SOURCE *
NO LOGIN, NO TRACKING
※ REAL INSTALL DATA ※
← back to all skills
rudra-ravi/frida-skills99 installs

frida-ios-hooks

Create and debug Frida hooks for iOS apps, including Objective-C, Swift symbols, modules, Interceptor, TLS pinning, rootless jailbreaks, Gadget, and ObjC issues.

How do I install this agent skill?

npx skills add https://github.com/rudra-ravi/frida-skills --skill frida-ios-hooks
view source ↗

Is this agent skill safe to install?

  • Gen Agent Trust Hubpass

    The skill provides a collection of Frida snippets and instructions for iOS application instrumentation and debugging. No malicious patterns or security risks were identified.

  • Socketwarn

    2 alerts: gptSecurity, gptAnomaly

  • Snykpass

    Risk: LOW · No issues

What does this agent skill do?

Frida iOS Hooks

Use this skill when instrumenting iOS Objective-C, Swift, or native behavior.

Setup Checks

frida --version
frida-ps -Uai
frida -U -f com.example.app -l agent.js --no-pause

Confirm runtime availability:

console.log("ObjC.available =", ObjC.available);
console.log(Process.platform, Process.arch);

If ObjC.available is false for an iOS app, use frida-troubleshooting before assuming the script is wrong.

Objective-C Hook Pattern

if (ObjC.available) {
  const cls = ObjC.classes.NSURLSession;
  const method = cls["- dataTaskWithRequest:completionHandler:"];
  Interceptor.attach(method.implementation, {
    onEnter(args) {
      const request = new ObjC.Object(args[2]);
      console.log("[NSURLSession]", request.URL().toString());
    }
  });
}

Swift and Native Rules

  • Enumerate modules and symbols before guessing Swift mangled names.
  • Hook Objective-C-visible Swift through ObjC classes when possible.
  • For pure Swift/native functions, resolve symbols and use frida-native-hooks.
  • Spawn when hooks must run before app delegate, network stack, or anti-tamper initialization.
  • Prefer observation hooks for trust evaluation, crypto, signature generation, and request building before mutating results.

Practitioner Patterns

  • Start with Objective-C runtime surfaces when available: delegates, URL loading, keychain, pasteboard, file APIs, crypto wrappers, and jailbreak-detection selectors.
  • For Swift-heavy apps, use module/symbol enumeration plus caller stack traces; do not assume selectors exist unless Swift exposes them to Objective-C.
  • For pinning, check both Objective-C frameworks and native Security/BoringSSL/CommonCrypto paths. Apps often mix them.
  • Use CodeShare tools such as ObjC method observers for discovery, then replace them with narrow hooks once class/method names are known.
  • On rootless jailbreaks, keep a minimal "runtime available" script separate from the real agent so setup failures are not confused with hook bugs.

Discovery Snippets

if (ObjC.available) {
  for (const name of Object.keys(ObjC.classes).filter(n => n.includes("Trust"))) {
    console.log(name);
  }
}
for (const m of Process.enumerateModules()) {
  if (m.name.includes("Target")) console.log(m.name, m.base, m.path);
}

Pinning and Rootless Notes

  • Identify whether pinning is in NSURLSession, SecTrustEvaluate*, a third-party framework, or native custom code.
  • Rootless jailbreak setups may need matching Frida packages, correct bootstrap path, and updated tooling. Version skew often looks like attach failure or missing ObjC bridge.
  • Use Gadget when normal attach is blocked but app modification is in scope.

References

Read references/ios-patterns.md for Objective-C, Swift symbol, SecTrust, module, and rootless troubleshooting patterns.

Add the canonical catalog link to the repository README so users can inspect current installs and available audits. The publishing guide covers the complete discovery path.

<a href="https://skillzs.dev/skills/rudra-ravi/frida-skills/frida-ios-hooks">View frida-ios-hooks on skillZs</a>