███╗ ██╗ ██████╗ ██╗██████╗ ████╗ ██║██╔═══██╗██║██╔══██╗ ██╔██╗ ██║██║ ██║██║██████╔╝ ██║╚██╗██║██║ ██║██║██╔══██╗ ██║ ╚████║╚██████╔╝██║██║ ██║ ╚═╝ ╚═══╝ ╚═════╝ ╚═╝╚═╝ ╚═╝
桌面端 · ADB · 免 ROOT · MIT
你手机里有 500 个应用。
有多少在往外传?
NOIR 读取已安装应用能采集什么、发到哪里——权限、端点、数据流向—— 然后给你可回滚的处置。
Android leak audit, from your desktop.
最新版本 · macOS / Windows / Linux · MIT
$ noir device 2509FPN0BC · android 16 scan 501/501 flagged 256 apps · 31 tracker domains plan 19 app-ops · rollback.txt
01 / 它做什么
证据,不是感觉。
02 / 功能
小工具,硬边界。
导出组件
本地解析二进制 AXML:没有权限保护的导出组件、明文流量、备份、debuggable、targetSdk。
一个 uid,权限并集
58 个系统包可能共享同一个 Linux uid。NOIR 展示谁持有谁的权限。
代码级信号
对高风险应用批量跑 jadx,统计 exec、动态加载、无障碍劫持、屏幕捕获与已知 SDK。
分级拦截
trackers 可整份导入;推送、登录、更新、支付单独分区,避免把手机拦坏。
为终端而生
CJK 对齐仪表盘、渐变进度条、每个 APK 刷新一帧、旧控制台 ASCII 降级。
双击即用
macOS、Windows、Linux 自带运行时。不需要 JDK、账号或遥测。
03 / 演示
在这里运行,模拟的。
完整跑一遍 noir 向导:设备检测、扫描、仪表盘,再到可回滚的 app-ops。按提示点 Y 即可。全程模拟,不涉及真实设备。
noir 可查看完整流程。04 / 安装
两种方式。
便携包
# 下载、解压、双击 → Start NOIR.command macOS → Start NOIR.bat Windows → Start-NOIR.sh Linux # 自带运行时,不需要 JDK
从源码构建
$ git clone https://github.com/Verlintas/NOIR $ cd NOIR $ ./gradlew :cli:installDist $ ./cli/build/install/noir/bin/noir --about
首次运行会问你要不要自动下载 adb / jadx;检测不到设备时会给出开发者模式与 USB 调试步骤,并等待 180 秒。
05 / 限制
它不做什么。
- 只有静态证据:能证明能力与端点,不能证明传输真的发生过。
- 只扫描
base.apk;split APK 里的代码是一个已知下界。 - 无 root:系统应用只能禁用或限制,不会被物理删除。
- 未签名的构建:Gatekeeper 和 SmartScreen 会各问一次。
06 / 常见问题
提问之前。
需要 root 吗?
不需要。全部通过 adb shell 完成。卸载仅限 --user 0,不会修改系统分区,恢复出厂即可还原。
会把手机弄坏吗?
默认只读。--apply 只改 app-ops,每条都能用 default 还原;rollback.txt 会写在报告旁边。卸载是单独、显式的命令。
会上传数据吗?
没有遥测、账号、统计。报告只留在你的输出目录。唯一的联网是 noir setup 下载 adb/jadx,以及本页向 GitHub API 查询版本和 Star 数。
为什么做静态分析而不是抓流量?
静态证据回答“这个应用能不能读 X、能不能连到 Y”,不需要 root、不占 VPN 槽、也不用信任证书。它不能证明传输真的发生过——需要的话配合 DNS 日志。
为什么不能删系统应用?
没有解锁 bootloader 和 root,Android 不允许。NOIR 只能为当前用户禁用或限制,并告诉你具体是哪个 app-op 或域名。
DeepScan 是什么?
noir deepscan 拉取高风险 APK,并行跑 jadx,统计代码级信号:Runtime.exec、动态 dex 加载、无障碍改写、屏幕捕获、设备标识读取和已知 SDK。它是分诊工具,不是反编译器替代品。
支持所有 Android 吗?
只要 adb 能看到设备就行。已在小米/HyperOS、AOSP 模拟器和厂商 ROM 上验证。厂商特定的判断在 classifier 里,容易扩展。
为什么有些域名标成“功能性”?
推送、登录、更新、支付、应用商店和云同步需要这些端点。拦掉会导致通知或登录失效。NOIR 把导出分成 trackers / review / functional,避免把手机拦坏。
07 / 它不是什么
相邻,但不等价。
| NOIR | 权限管理器 | 追踪器数据库 | |
|---|---|---|---|
| 看到 | 这个 APK 里的端点 | 声明的权限 | 应用级标签 |
| 回答 | 哪类数据能到达哪个域名 | 谁申请了什么 | “这个应用已知会追踪” |
| 处置 | 可回滚 app-ops、DNS 分级 | 打开设置 | 什么都不做 |
| 依赖 | adb,无需 root | 无 | 无 |
它也不是杀毒软件、不是防火墙、不是云服务。它就是你自己跑的静态审计。
08 / 源码
运行之前先读。
MIT,无账号,自身不发起网络请求。唯一下载是 adb 和 jadx,而且只在你同意时。
09 / 联系
找人。
Bug 与功能请求走 GitHub。漏洞走私有安全通告。其他用邮件。