Skip to content
cccskills
FreePublished on GitHub

competition-android-hooking

Analyze Android apps in a CTF sandbox using static inspection and Frida hooks, which observe or alter running code. Trace request signing, local storage, and Java-to-native boundaries to reproduce a request accepted by the server.

OriginalShow the original description

Internal downstream skill for ctf-sandbox-orchestrator. CTF-sandbox workflow for Android APK hooking, Frida tracing, request-signing recovery, SSL pinning bypass, JNI boundary inspection, and app trust-boundary analysis. Use when the user asks to hook an APK, inspect signer logic, trace Java or native boundaries, bypass pinning or root checks, inspect shared prefs or app databases, or replay accepted mobile requests. Use only after `$ctf-sandbox-orchestrator` has already established sandbox assumptions and routed here.

See how to install

Good for

  • Tracing request-signing inputs and outputs
  • Inspecting Java-to-native calls with runtime hooks
  • Examining app settings, databases, and token storage
  • Reproducing mobile requests accepted by the server

Files included (3)

  • SKILL.md3.1 KB
  • agents/openai.yaml388 B
  • references/android-hooking.md1.0 KB

SKILL.md (original)

Review the instructions the agent will receive before you install.

Competition Android Hooking

Use this skill only as a downstream specialization after $ctf-sandbox-orchestrator is already active and has established sandbox assumptions, node ownership, and evidence priorities. If that has not happened yet, return to $ctf-sandbox-orchestrator first.

Use this skill when the decisive path runs through an Android app's live trust boundary rather than static strings alone.

Reply in Simplified Chinese unless the user explicitly requests English.

Quick Start

  1. Preserve the original APK, extracted resources, and decompiled output before patching or resigning.
  2. Start with manifest, exported components, deeplinks, native libs, prefs, local DBs, and bundled configs.
  3. Decide the narrowest runtime boundary to hook: signer, crypto helper, JNI bridge, WebView bridge, or request builder.
  4. Correlate static evidence and dynamic traces before claiming a trust edge is understood.
  5. Reproduce the signed request, accepted token, or gated branch from the smallest hook set.

Workflow

1. Static Triage Before Hooks

  • Map package structure, exported activities, services, receivers, providers, and deeplink handlers.
  • Note SSL pinning logic, root checks, feature flags, token storage, shared prefs, SQLite tables, and protobuf or RPC boundaries.
  • Identify whether the sensitive logic sits in Java, Kotlin, JNI, or a bundled WebView.

2. Hook The Narrowest Boundary

  • Prefer hooking request signers, crypto helpers, keystore access, protobuf encode or decode, or JNI marshaling instead of broad UI hooks.
  • Record plaintext inputs, signed strings, headers, nonces, and outputs at the boundary that actually changes trust.
  • If pinning or environment checks block progress, patch or hook only enough to expose the real request path.

3. Replay The Accepted Path

  • Rebuild the smallest sequence that reaches the accepted server-side branch: local state, nonce, request body, signature, and headers.
  • Keep hook logs, captured request shapes, and local storage paths tied to the same account or session state.
  • If the challenge becomes more about transform recovery than Android runtime, switch back to the broader crypto or mobile skill.

Read This Reference

  • Load references/android-hooking.md for hook targets, storage checklist, and evidence packaging.

What To Preserve

  • Hook points, class names, JNI symbols, signer inputs and outputs, and header names
  • Shared prefs, local DB rows, deeplinks, exported components, and token storage paths
  • The smallest replayable request or branch that proves the trust boundary

Reviews

No reviews yet. Tell others what you thought.

Comments

No login needed. Share how it worked for you, ask a question, or note where it did not run.

No comments yet. Be the first to write one.

Comments are published right away. Do not include personal information such as email addresses or phone numbers. Up to 2 URLs.

0 / 1,000 characters

This form is protected by reCAPTCHA, and the Google Privacy Policy and Terms of Service apply.

More skills from this repository

api-security

FreeSummary

Assess authorized APIs through a ten-stage workflow covering endpoint discovery, authentication, access permissions, input handling, and request limits. Collect reproducible evidence and turn findings into regression checks that can run in a development pipeline.

  • Review API authentication and access permissions
  • Assess GraphQL and WebSocket security
  • Check request limits and unintended data exposure
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

apk-reverse

FreeSummary

Inspect Android APKs from the command line to understand app logic, permissions, and components. Supports Java decompilation, low-level code edits, rebuilding and signing, plus Frida observation of running methods and routing to native code analysis.

  • Inspecting APK entry points, components, and permissions
  • Locating login, signing, and certificate checks
  • Editing smali code and rebuilding an APK
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

attack-chain

FreeSummary

Plan and coordinate authorized penetration tests across multiple stages, from reconnaissance to access, privilege escalation, movement between systems, and impact assessment. Assign specialist skills, revise blocked paths, and maintain evidence and progress records for the final report.

  • Plan a penetration test across multiple stages
  • Assess how far a vulnerability could lead
  • Replan from existing credentials or system access
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

binary-diff

FreeSummary

Transfer known function and variable names from an older binary to a newer version. Compare disassembly and pseudocode with an LLM, produce structured mappings, and apply names and comments in IDA.

  • Migrate known function names after a software update
  • Locate kernel functions when the new PDB is unavailable
  • Find updated function addresses and structure offsets
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

Inspect compiled programs in Binary Ninja using strings, function references, and intermediate representations—views of program logic at different levels. Trace data flow and report findings with addresses, supporting evidence, confidence, and reproduction steps.

  • Tracing function calls and data flow in Binary Ninja
  • Cross-checking findings from other disassemblers
  • Automating binary analysis with the Python API
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

Automate website navigation, form filling, content collection, and Windows desktop interactions. The skill selects browser or desktop tools for the task and guides screenshot capture and desktop network traffic observation when needed.

  • Automating website login and form entry
  • Collecting page content and screenshots
  • Operating Windows desktop applications
zhaoxuya520/reverse-skill42.6KUpdated Sep 22, 2026

See all skills by zhaoxuya520

Report a problem with this skill