Token导航 LogoToken导航TokenDH.com
开发external-servicegithub未标认证来源可访问许可证需确认审计异常

frida-stalker-android弗里达跟踪者 Android

Agent Skill

frida-stalker-android 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

1,139

周安装

47

GitHub Stars

4

下载量

372
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:frida-stalker-android(弗里达跟踪者 Android)
来源仓库:https://github.com/yfe404/frida-stalker-skills
仓库路径:skills/frida-stalker-android
安装命令:
npx skills add https://github.com/yfe404/frida-stalker-skills --skill frida-stalker-android
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/yfe404/frida-stalker-skills --skill frida-stalker-android

简介

frida-stalker-android 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息。

  • 适合在 Codex、Claude、Cursor、Gemini CLI 中整理仓库状态、代码变更或协作事项。
  • 通过 npx skills add 命令从指定 GitHub 仓库安装,需结合原始 README 核验具体用法。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。
  • 暂无额外注意事项,建议参考来源仓库获取最新使用说明。

SKILL.md

Frida Stalker (Android)

Overview

Use this skill when you need to trace native code execution on Android using Frida's Stalker API, with templates geared for ARM/ARM64 and performance-safe defaults.

This skill assumes Frida 17+ JavaScript semantics.

When To Use This Skill

  • User explicitly asks for "Frida Stalker" on Android.
  • You need to measure native call activity (who got called, how often) with low overhead.
  • You need ordered call events (call graph reconstruction) or coarse coverage.
  • You need to inject logic on basic-block compilation through transform(iterator).

Quick Decision Guide

  • Want call counts per target and don't care about ordering: use onCallSummary.
  • Want ordered call/ret/block/compile events: use onReceive and decode with Stalker.parse().
  • Want instruction-level matching and callouts: use transform(iterator) (heavy; do it narrowly).
  • Want to watch a small set of call targets: consider Stalker.addCallProbe().

Core API Facts (Frida 17+)

  • Stalker.follow([threadId, options])
  • Provide exactly one callback: onReceive(events) or onCallSummary(summary).
  • Stalker.unfollow([threadId])
  • Stalker.parse(events, {annotate, stringify})
  • Stalker.flush() drains buffered events early (otherwise periodic draining is controlled by Stalker.queueDrainInterval).
  • Stalker.garbageCollect() should be called after unfollow() to free accumulated memory at a safe point.
  • Stalker.exclude({base, size}) excludes a memory range from stalking (useful to skip noisy/system modules).
  • Tuning:
  • Stalker.trustThreshold default 1 (set -1 for no trust, 0 to trust immediately, or N to trust after N executions).
  • Stalker.queueCapacity default 16384 events.
  • Stalker.queueDrainInterval default 250 ms (set 0 to disable periodic draining and call Stalker.flush() manually).

Workflow

  1. Define objective.
  2. Choose thread(s).
  3. Choose capture mode and filters.
  4. Pick a template and adapt it.
  5. Run, tune performance, and clean up.

If you are using the Frida MCP tools, also enable $frida-mcp-workflow and follow its phases (Idea -> Scripting -> Execution -> Notes).

Templates

Start from these and keep scripts file-based.

  • templates/stalker-call-summary.js: low-overhead call counting via onCallSummary.
  • templates/stalker-onreceive-parse.js: receive binary events and decode with Stalker.parse().
  • templates/stalker-start-stop-around-hook.js: follow/unfollow only during a specific hooked function call.
  • templates/stalker-call-probe.js: observe calls to a single target via Stalker.addCallProbe().
  • templates/stalker-transform-skeleton.js: minimal transform(iterator) skeleton with ARM/ARM64 safety check.
  • templates/stalker-filter-modules.js: helper to select "app modules" on Android and exclude the rest.

Quick Start

  1. If you do not know the thread id yet, start with templates/stalker-start-stop-around-hook.js.
  2. If you already know the thread id and want low overhead, use templates/stalker-call-summary.js.
  3. If you need ordered events, use templates/stalker-onreceive-parse.js and keep event types narrow.
  4. If you only care about calls to one target, start with templates/stalker-call-probe.js.

MCP Usage Notes (If Available)

When driving this through the Frida MCP tools, prefer this flow:

  1. Create or attach a session (mcp__frida__create_interactive_session / mcp__frida__attach_to_process).
  2. Load the selected template with mcp__frida__load_script.
  3. Start tracing through RPC exports using mcp__frida__call_rpc_export (templates expose start() / stop() when appropriate).
  4. Use mcp__frida__get_session_messages to consume output.

Keep a script ledger (what is loaded, purpose, and teardown path). This is enforced by $frida-mcp-workflow.

Android-Specific Notes (Practical)

  • Thread choice matters more than you think.
  • If you start stalking the wrong thread, you will see nothing, or only system noise.
  • A safe pattern is to start stalking from inside an Interceptor.attach() callback, using Process.getCurrentThreadId() to capture the thread that is actually executing your target function.
  • Module filtering is essential.
  • On Android, app code is usually in modules whose path contains /data/app/, /data/data/, or an extracted APK split path.
  • Exclude common noise sources (libart.so, libc.so, liblog.so, etc.) using Stalker.exclude() when you only care about your app's own native libs.
  • 32-bit ARM note.
  • If you use raw addresses on 32-bit ARM, Thumb functions require the low bit set. Prefer addresses returned by Frida APIs like Process.getModuleByName(...).getExportByName(...).
  • Avoid Process.runOnThread() unless you know what you're doing.
  • It can interrupt a thread in non-reentrant code and cause deadlocks/crashes.

Performance Rules Of Thumb

  • Avoid events.exec unless you truly need instruction-level traces. It produces huge volumes of data.
  • Prefer onCallSummary over onReceive when you can.
  • Keep your callbacks lean; push heavy work to the host side when possible.
  • Use Stalker.exclude() aggressively to reduce time spent in system libraries.
  • Prefer manual draining (Stalker.queueDrainInterval = 0 + Stalker.flush()) when you need deterministic windows.
  • Call Stalker.garbageCollect() after unfollowing, especially if you repeatedly start/stop.

Cleanup Checklist

  • Stalker.unfollow(threadId)
  • Stalker.flush()
  • Stalker.garbageCollect()

Troubleshooting

  • No output at all.
  • You are likely stalking the wrong thread, or your callback isn't being invoked (e.g., you followed a thread that never runs).
  • Output is only system noise.
  • Add module filters and exclusions. Start stalking from inside a hook where you know you're in app code.
  • Target slows to a crawl or dies.
  • Reduce enabled events, stop using exec, and switch to onCallSummary. Exclude large/noisy modules.

For deeper notes, see:

  • references/stalker-api.md
  • references/android-filtering.md

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

34.96%
按下载量换算130

Claude

30.09%
按下载量换算112

Cursor

19.95%
按下载量换算74

Gemini CLI

9.8%
按下载量换算36

安全审计

Gen Agent Trust Hub

未通过

Socket

通过

Snyk

通过

权限和风险

external-service

该 Skill 可能调用第三方服务、云服务或外部模型 API,使用前需要确认账号、额度、数据发送范围和服务条款。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills