dmatscheko/intentions-android

GitHub: dmatscheko/intentions-android

一款 Android Intent 构建与调试工具,帮助开发者手动构造、分发、拦截和探索系统中的 intent 及各应用暴露的组件。

Stars: 0 | Forks: 0

Intentions logo # Intentions
一款用于**构建、检查和分发 Android Intents** 的工具——手动构造 intent, 以 activity / broadcast / service 的形式启动,探索已安装应用暴露的所有内容, 并捕获流经系统的 intents。 该应用在很大程度上是对 2012 年版 Intentions 应用的重塑,原版代码已丢失。 ## 功能 ### 截图

Main screen — intent preview and launcher screenshot     Package explorer — installed apps list screenshot     App components — exported and permissions screenshot

Intent editor — typed extras and flags screenshot     Content provider — query a content URI screenshot     Resource browser — images and XML screenshot

### 构建 intent - **Intent 编辑器** —— 设置 component、action、data URI + MIME type、categories、extras 和 flags。各部分可以切换开关,且不会丢失已输入的内容。 - **类型化 extras** —— 添加任何常见类型的 extras:`String`、`Boolean`、数值类型、 `Character`、`Uri`、`null`、嵌套的 `Intent`,以及数组 / 列表类型。输入时会自动校验值。 - **自动补全** —— 支持 actions、categories 和 extra 名称的自动补全。 ### 分发 从 **Execute** 行: - **Activity**、**Broadcast**、**Ordered broadcast**、**Start / Stop / Bind service**。 - 与 intent 解析目标(activity / service / receiver)匹配的按钮组会高亮显示, 但仍然可以尝试任何其他选项。 - **Bind service** 会打开一个面板,您可以在其中发送 **Messenger** 消息 (`what` / `arg1` / `arg2` 以及类型化的 data bundle)并查看回复。 - 当分发被阻止时,结果会附带一个简单说明,并提供一个 **Run via shell** 选项,该选项会 (使用或不使用 root 权限)重试等效的 `am` 命令。 - **Show manifest** —— 美化打印目标应用的 manifest(包括 split APKs),并将 资源引用解析为其对应的名称。 ### 探索系统 - **Package explorer** —— 可搜索的已安装应用列表。打开一个应用可查看其 activities、 services、receivers、providers 和 intent-filter actions,每一项都标有 **exported** 徽章和 **permission level** 图标(open / normal / dangerous / signature)。点击组件可将其 加载到 intent 中;在 provider 上点击 **Query** 可直接跳转到对其的内容查询。 - **Data browsers** —— 展示所有已安装应用中声明的 actions、categories、data schemes、 MIME types 和 data authorities;点击可将其应用于当前 intent。 - **Content provider** —— 针对 `content://` URI,执行 **Query**、**Get type**、**Read** 和 **Call**,或者在确认后执行 **Insert / Update / Delete**。系统会显示 provider 的 exported / permission 状态;如果可能,会请求所需的权限;如果访问被拒绝,则提供 **Run via shell**(su / sh)后备方案。 - **Resource browser** —— 浏览其他应用的图像和文本 / XML 资源(包括其 `AndroidManifest.xml`),并将引用解析为名称。可选择作为 `android.resource://…` URI,或复制其文本。 - **App info / Force-stop** —— 打开某个 package 的系统 App-Info 页面。 ### 捕获 intents - **Broadcast sniffer** —— 一个后台监视器,用于实时记录系统的 broadcasts。 受监视的 action 列表可编辑;点击捕获的条目即可将其加载到编辑器中。 - **Scheme & share interceptor** —— Intentions 会出现在系统的“打开方式”/ 分享 面板中;选择它即可将传入的 intent 捕获到编辑器中。 ### 保存与分享 - **Bookmarks** —— 保存 intents 以便日后重新加载。 - **Recent intents** —— 自动记录您已执行过的 intents 历史记录;点击即可重新加载。 - **Copy as `adb` command** —— 生成一条可直接运行的 `adb shell am …` 命令行。 - **Clipboard** —— 以可移植字符串的形式复制 / 粘贴 intent。 - **Home-screen shortcut** —— 固定一个用于触发当前 intent 的快捷方式。Intentions 也会 响应启动器的创建快捷方式请求。 ## 权限与说明 - `QUERY_ALL_PACKAGES` —— 该应用的用途是枚举和检查其他应用。 - `FOREGROUND_SERVICE` / `FOREGROUND_SERVICE_SPECIAL_USE` / `POST_NOTIFICATIONS` —— 后台 broadcast sniffer 及其通知。 - 媒体和 provider 读取权限(`READ_MEDIA_*`、`READ_CONTACTS`、`READ_CALENDAR`、 `READ_SMS`、`READ_CALL_LOG`)—— 按需请求,以便 content-provider 屏幕能够 从这些 provider 返回数据行。 - `KILL_BACKGROUND_PROCESSES`、`INSTALL_SHORTCUT` —— force-stop 辅助工具和旧版快捷方式 后备方案。 现代 Android 限制了一些原有的功能:列举或杀死*其他应用的*运行中 services 已不再被允许(Android 8+),因此该应用会改为打开系统的 App-Info / force-stop 页面。 ## 安装 从 [Releases 页面](https://github.com/dmatscheko/intentions-android/releases/latest) 获取最新的 **`intentions-release.apk`**, 并通过在设备上打开该文件(“安装未知应用”)进行安装,或者通过 adb: ``` adb install -r intentions-release.apk ``` 想自己构建?只需一步即可构建并安装 debug 版本: ``` ./gradlew installDebug ``` 如果希望使用 adb 安装,请先构建 APK,然后再进行安装: ``` ./gradlew assembleDebug adb install -r app/build/outputs/apk/debug/intentions-debug.apk ``` 有关工具链和架构,请参阅 [DEVELOPMENT.md](DEVELOPMENT.md)。 此应用为**侧载(sideloaded)**安装——未上架 Play Store。 ## 许可证 Copyright (C) 2026 David Matscheko 本程序为自由软件:您可以根据自由软件基金会发布的 **GNU Affero General Public License** 条款重新分发和/或修改它,适用许可证的版本 3,或(由您选择)任何更高版本。 分发本程序的目的是希望它能有用,但不提供任何 保证;甚至不提供适销性或特定用途适用性的暗示保证。有关更多详细信息,请参阅 GNU Affero General Public License。 您应该已经随本程序收到了一份 GNU Affero General Public License 的副本。如果没有,请访问 。完整文本见 [LICENSE](LICENSE)。
标签:Content Provider, Intent, 后台面板检测, 安卓, 移动开发工具, 组件调试, 逆向辅助