报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。
Pure Clean Master 样本与证据索引#
文档日期:2026-10-12
查询与静态分析日期:2026-09-30(Asia/Shanghai)
包名:com.pureclean.smartfile.master
范围:本目录 APK、完整 JADX 产物及公开 Google Play 页面。未操作测试机,未把静态能力外推为线上真实触发效果。
1. 证据等级#
- S1(静态事实):可由本次 APK、Manifest、资源或反编译源码直接复核。
- I(合理推断):由多处静态事实拼接而成,但缺少运行时日志或服务端配置佐证。
- U(未验证):需要真机、网络、服务端或线上版本对账才能确认。
2. 样本清单与完整性#
| 文件 | 字节数 | SHA-256 | 签名核验 |
|---|---|---|---|
apk/base.apk |
40,993,690 | 2890083eeacd40616620daa3f1e0c6440260c48b3e1e727854ecb0af0e9c2db3 |
v3 通过;Source Stamp 通过 |
apk/split_config.arm64_v8a.apk |
4,076,616 | 26d07d265b3d6ee16224bbe3069af10c437a711a4911bb09638e2ad1bbdfd093 |
v3 通过;Source Stamp 通过 |
apk/split_config.xxhdpi.apk |
71,135 | 78269ebd7b56a8d8126c27dca9d52fee0540ab1b84cc39691fa541701ca5066e |
v3 通过;Source Stamp 通过 |
- 三个 APK 的签名主体均为
CN=123,签名证书 SHA-256 为02e869213e973659fa21ee3344ce58a9cb29d288551faf0572228e36e009e77a。(S1) - Source Stamp 证书主体为 Google Android,SHA-256 为
3257d599a49d2c961a471ca9843f59d341a405884583fc087df4237b733bbd6d。(S1) - Source Stamp 时间戳为
2026-09-16 18:37:36 CST。(S1) - 签名仅证明三件样本属于同一签名集合,不证明它们与当前 Google Play 面向所有地区分发的版本完全一致。(U)
- Manifest Application 为
com.pairip.application.Application,它继承业务MyApplication并在attachBaseContext先调用LicenseClient.checkLicense;同时存在 R8 混淆、字符串运行时解码和 Provider 包名摘要门控。这些保护解释了部分反编译失败,但不应被误写成业务功能。(S1,jadx/sources/com/pairip/application/Application.java:1-13、jadx-targeted/WpCyBN.java:76-179) - arm64 split 包含 MMKV、AppLovin crash reporter、Pangle/ByteDance、APM Insight、Unity coherence 等 native library;存在库不等于该 SDK 的每条线上能力都已启用。(S1/U)
3. APK 内版本与公开页面差异#
| 字段 | APK 静态值 | 2026-09-30 Google Play 公共页 | 判断 |
|---|---|---|---|
| 应用名 | 资源名为 Pure Clean Master | Pure Clean Master | 一致 |
| 包名 | com.pureclean.smartfile.master |
com.pureclean.smartfile.master |
一致 |
| 版本 | versionName=1.1.8、versionCode=19 |
页面显示版本 1.1.2 |
不一致,禁止混作同一发布版本 |
| Android 要求 | minSdk=32(Android 12L)、targetSdk=37、compileSdk=37 |
页面显示 Android 8.0+ | 不一致,可能是分层分发、页面缓存或样本来源不同,需 Play Console/设备分发复核 |
| 更新时间 | Source Stamp 2026-09-16 | 页面显示 2026-09-16 | 日期接近,但不足以证明同一构建 |
静态依据:jadx/resources/AndroidManifest.xml:3-14。公共页:Google Play。
4. 反编译产物#
- 完整输入:
base.apk+split_config.arm64_v8a.apk+split_config.xxhdpi.apk。(S1) - 工具:
tools/jadx-1.5.5/lib/jadx-1.5.5-all.jar,Java 21。(S1) - 完整输出:
jadx/,31,783 个文件,约 219 MB。(S1) - JADX 最终状态:处理 20,822 个类,退出码 3,
finished with errors, count: 579。(S1) - 对关键失败类又以
simple模式定点恢复到jadx-targeted/:WpCyBN.java、NaKMPne.java、vn.java、t22.java、r12.java、j.java、cz.java、l41.java;通知策略另保留vn-fallback.java的 fallback 指令级输出用于核对跳转。(S1) - simple 代码可能丢失
goto、异常边和 Kotlin 协程状态跳转;本报告对首次 300 秒、最近任务两次未点击、通知清理每日一次等关键分支,已用vn-fallback.java:1115-1495交叉确认。其余失败方法仍需按风险回查 fallback/smali。(S1/U)
5. 一级证据导航#
| 主题 | 证据入口 | 核心范围 |
|---|---|---|
| 包、SDK、权限、组件 | jadx/resources/AndroidManifest.xml |
3-30、87-123、124-352、512-580、581-1140 |
| 产品功能枚举 | jadx/sources/defpackage/f11.java |
26-44 |
| App 初始化、动态系统广播 | jadx/sources/com/ai/smart/MyApplication.java |
59-137 |
| 冷启动、Remote Config、每日状态重置、通知权限 | jadx/sources/a/ac/view/splash/SplashActivity.java |
85-215 |
| 通知入口与回跳 | jadx/sources/a/ac/view/splash/OutOpenActivity.java |
55-84 |
| 通知清理器 | jadx/sources/a/ac/view/notification/NotificationListener.java |
29-91 |
| 通知场景与等级 | jadx/sources/defpackage/z22.java、a32.java |
42-77、20-29 |
| 通知总策略 | jadx-targeted/vn.java、vn-fallback.java |
650-847、1115-1495 |
| 通知模板映射 | jadx-targeted/r12.java、jadx/sources/defpackage/u22.java、q9.java、s13.java |
108-334、28-98、25-59、45-218 |
| 通知构建、ID、重复提醒 | jadx-targeted/t22.java、jadx/sources/defpackage/y22.java |
101-271、65-119 |
| 通知 Channel 与常驻通知 | jadx/sources/com/ai/smart/notify/KeepCallbackImp.java、defpackage/w61.java |
11-25、38-230 |
| 前台服务与兜底 Job | jadx/sources/com/ai/smart/gXXfik.java、PsaeNNErXb.java、defpackage/md.java |
36-125、46-139、173-243 |
| 周期 Job/Work/Alarm | jadx/sources/defpackage/ac3.java、q41.java、qu3.java、com/ai/smart/sToBblBqZa.java、kcTBvDgL.java |
80-127、145-181、79-130、21-47、26-35 |
| 开机、升级、Alarm 接收 | jadx/sources/com/ai/smart/ZPHDnIht.java、BpFZcYhmZ.java |
16-39、15-29 |
| FCM | jadx-targeted/NaKMPne.java |
29-114 |
| Remote Config | jadx/sources/defpackage/bi2.java、ai2.java |
31-207、全文件 |
| 广告位 | jadx/sources/defpackage/r6.java |
27-35 |
| 广告网络选择与限额 | jadx/sources/defpackage/w6.java |
78-100、198-420、433-450、527-547 |
| IP/广告标识黑名单检查 | jadx-targeted/cz.java、l41.java |
60-297、25-232 |
| 本地广告配置 | jadx/resources/assets/d0_config.json 至 d3_config.json |
全文件 |
| 通知多语言 | jadx/resources/res/values*/strings.xml |
默认英语及 de/es/fr/ja/pt |
6. 二级产物#
产品功能与商业化分析.md:功能矩阵、核心流程、广告架构与商业化判断。权限与后台机制拆包报告.md:权限使用、组件暴露面、后台调度、FCM/Remote Config。拉活通知规则与文案全量报告.md:通知触发、门槛、频控、ID、Channel、路由以及六语言全量资源字典。保活与拉活反编译代码册.md:App 自有保活/拉活入口、去噪等价代码和逐方法行号。
7. 未验证项与风险#
- 未操作测试机,因此通知是否实际出现、Android 版本/OEM 限制、后台存活时长、Alarm/Job/Work 的真实到达率均未验证。(U)
- 未抓网络,Remote Config 当前线上值、FCM payload、MAX 服务端瀑布流与实时广告开关未知。(U)
- SDK 组件存在只证明被打包;除 App 代码直接调用 Google Mobile Ads 与 AppLovin MAX 外,其余广告 SDK 是否实际获得流量未知。(U)
- JADX 有 579 个错误;关键类已定点恢复并对通知策略用 fallback 指令输出复核,但所有产物仍是反编译结果,不能等同原始源码。(U)
- APK 版本与 Play 公共页不一致;本报告仅对上述本地样本负责,不代表当前 Play 商店所有用户实际收到的二进制。(U)