代码转储与深挖——追踪类到底在做什么
什么是代码转储
App Manager 扫描器不仅告诉你"有这个追踪类",还能把它的代码反编译出来展示在界面上——这就是代码转储(Code Dump)。反编译不是完美还原原始 Java 源码(APK 打包时编译成了 DEX 字节码),但能看懂逻辑。
怎么导出
在扫描结果页,点某个追踪类进入详情,里面就有代码转储。你可以:
- 直接在界面里看——代码高亮,支持滚动
- 导出为文件——保存到 App Manager 目录,用你熟悉的代码编辑器继续看
能看出什么
代码转储能帮你判断:
- 采集什么数据——设备 ID?位置?联系人?短信?
- 怎么加密传输——HTTPS?明文?自定义协议?
- 多久发一次——实时上报?攒一批定时发?
- 触发条件——启动就发?切后台才发?用户操作才发?
- 跟哪些服务器通信——硬编码域名还是动态配置?
一个实际例子
拿一个常见的追踪器做示范(这只是示意,实际以你扫描的结果为准):
com.example.analytics.Tracker
├─ trackEvent(String name, Map<String, String> params)
│ ├─ GET /collect?v=1&tid=UA-xxxx&aid=appname
│ └─ 参数里带 deviceId, installId, screenResolution, deviceModel
└─ setUserProperty(String name, String value)
└─ 存 SharedPreferences,定时批量上报
看完这段,你就知道这个追踪器会采集设备 ID、安装 ID、屏幕分辨率、设备型号,用 HTTPS 发到 analytics.example.com,用户属性先存本地攒一波再一起发。比只知道"有个 analytics 追踪器"有价值多了。
进阶路径
代码转储之后,如果你想继续深挖,还有这些选择:
- 把导出的代码片段跟 App Manager 的代码编辑器联动(需要 root 才能编辑系统内的文件)
- 配合文件管理器查看 APK 内其他资源文件
- 用 App Manager 的共享偏好编辑器看这个应用保存了什么追踪状态
不是所有人都需要走到这一步——但如果你关心数据隐私、想理解某个应用到底在做什么,代码转储是最直接的窗口。