报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。
CleanLoom v1.1.8 保活恢复、通知召回与产品族群逆向报告#
包名:
com.cleanloom.com
样本:Google Play 当前安装包,versionName V1.1.8,versionCode 11
测试设备:Pixel 6a,Android 16 / API 36
报告日期:2026-08-31
1. 一页结论#
- [静态 + 动态确认] CleanLoom 与 CleanMas 是确认同族的换皮版本。 两者同一 Play 开发者、同一签名、同一业务代码根、同一
cleanloom.com主域,925 条 strings 精确相同。 - [静态 + 动态确认] 它运行
specialUse/quick entry主 FGS。aSp3WK.p8ns9返回START_STICKY;本机 PID29576,常驻通知 ID8781。 - [静态确认] 快速恢复 Job 为 3.386–5.386 秒,周期持久化 Job 为约 21分11秒–21分14.386秒,Alarm 约 8 小时。 时间常量与 CleanMas 略有抖动,但算法和职责一致。
- [动态确认] 周期 Job 与 Alarm 均真实注册。 Job ID
4524为 persisted high-priority;Alarm 为ELAPSED_WAKEUP,系统给约 1 小时批处理窗。 - [动态确认] 本次重启成功恢复主 FGS。 直接后台启动起初被拒;Boot 白名单内
A2Dbbc.p8ns9JobService 获准进入前台,再建立主 FGS。 - [动态确认] Force Stop 是硬边界。 统一测试 10 秒后无 PID、
stopped=true。 - [静态确认] 通知召回与 CleanMas 基本同构。 包含 TIMER/HIGH/BOOT/HOME/UNLOCK/UPGRADE、电池、包变更、网络、截图、后台和 FCM,并叠加前后台、锁屏、屏幕、方向、冷却和日上限门槛。
- [动态确认] 正常启动时除 FGS 外还观察到 ID
4545、importance 5 的业务通知。 它为ONGOING_EVENT | AUTO_CANCEL自定义通知;一次观察不能代表稳定触发频率。
2. 样本身份#
| 项目 | 值 |
|---|---|
| 应用名 | CleanLoom |
| applicationId | com.cleanloom.com |
| 版本 | V1.1.8(versionCode 11) |
| minSdk / targetSdk | 24 / 36 |
| base APK 大小 | 47,334,762 bytes |
| base APK SHA-256 | cf913a11f106c6c8fee114b449211c7a37b5d362c16c745b4ef01b8f081f261c |
| 签名 SHA-256 | fe2573c8e6e26502a80e1211764834046743a560b706962802fee0e92c5028ad |
| 业务代码根 | jahkshfa.hk.ep |
| 配置域名 | https://cfd.cleanloom.com |
| 安装来源 | Google Play,installer=com.android.vending |
JADX 输出存在错误,关键恢复链已用 Manifest、父类和真机状态交叉核对。APK 中默认通知参数可被远端配置覆盖。
3. 保活与恢复#
Boot / 正常启动 / onDestroy / onTaskRemoved
│
▼
aSp3WK.p8ns9 主 FGS(specialUse)
START_STICKY / 通知 ID 8781
│失败或回调
▼
A2Dbbc.p8ns9 快速 Job(3.386–5.386 秒)
pT7aePpA.p8ns9:约 21.2 分钟 persisted Job
Ap78218b.p8ns9:约 8 小时 Alarm
DD7h3.p8ns9:BOOT_COMPLETED / MY_PACKAGE_REPLACED
| 组件 | 当前值 | 作用 |
|---|---|---|
主 FGS aSp3WK.p8ns9 |
specialUse、ID 8781、START_STICKY |
常驻载体 |
快速 Job A2Dbbc.p8ns9 |
3,386–5,386ms | FGS 恢复桥接 |
周期 Job pT7aePpA.p8ns9 |
1,271,000–1,274,386ms | 持久化周期机会 |
Alarm Ap78218b.p8ns9 |
28,796,950ms | 约 8 小时通知/topic 维护 |
Boot DD7h3.p8ns9 |
Boot + 包更新 | 进入恢复链 |
FCM aDDE37aE.p8ns9 |
Messaging Service | Push 与召回 |
3.1 真机结果#
| 场景 | 结果 |
|---|---|
| 正常启动 | PID 29576;主 FGS 为前台;ID 8781;startCommandResult=1 |
| Job | ID 4524;约 21分11秒–21分14.386秒;persisted/high |
| Alarm | 约 7小时59分后;window 1 小时 |
| Force Stop | 10 秒无 PID,stopped=true |
| 重启 | PID 12524;主 FGS 和短 JobService 均显示前台 ID 8781,恢复成功 |
日志显示其先发生一次无白名单的 FGS 启动拒绝,随后短 JobService 在 BOOT_COMPLETED 临时白名单内被允许。说明它依赖正确的 Boot 时间窗和 Job 桥接,不是后台 FGS 限制失效。
4. 通知召回#
4.1 通知类型#
| 类型 | 本轮观察 |
|---|---|
| FGS 常驻通知 | ID 8781,渠道 CleanLoomrHr,Ongoing/Only alert once;正常运行和重启后均存在 |
| 业务召回通知 | ID 4545,importance 5,Ongoing + Auto cancel,自定义大/折叠视图 |
4.2 规则#
- 入口:定时、高值触发、Boot、Home、解锁、升级、包变更、电池、网络、截图、后台、FCM。
- 门槛:App 不在前台、未锁屏、屏幕亮、竖屏、首次延迟已过、全局冷却已过、场景计数未到上限。
- 默认模板与 CleanMas/NeatPulse 高度一致,包括
Memory X% full、RAM X% full、Storage X% full、充电/低电量、截图和网络切换。 - FCM topic 失败采用 30 秒到 24 小时指数退避;这只是订阅重试,不是通知发送频率。
5. 产品族群#
5.1 与 CleanMas:确认同族#
| 证据 | 结果 |
|---|---|
| Play 开发者 | 都是 BetterFly Games |
| 签名 | SHA-256 完全一致 |
| 业务根 | 都是 jahkshfa.hk.ep |
| 配置域名 | 都在 cleanloom.com 主域 |
| 资源 | 972 / 943 条 strings 中 925 条精确相同 |
| 组件算法 | FGS + 快速 Job + 周期 Job + Boot + Alarm 完全同构 |
5.2 与另外三包#
BlazeClean/AuraClean 使用另一套资源皮肤,NeatPulse 使用独立业务根和域名;但五包的核心恢复类、时间抖动算法、通知入口和组件布局一致。应归为同一白标技术母版的不同发布分支,不把它们强行认定为同一商店主体。
6. 未验证项#
- 多轮重启、不同 ROM 和长期 Doze 的成功率。
- 自然进程死亡后的几秒级恢复率。
- Remote Config 当前线上值和服务端 FCM 策略。
- ID
4545的具体触发来源、文案与点击路由。 - 通知权限关闭后的 FGS 和业务通知行为。
- Force Stop 无法突破。
7. 证据位置#
- APK:
Clean/cleaner-7-pack-2026-08-31/cleanloom/apk/ - JADX:
Clean/cleaner-7-pack-2026-08-31/cleanloom/jadx/ - 关键类:
aSp3WK/p8ns9.java、A2Dbbc/p8ns9.java、pT7aePpA/p8ns9.java、Ap78218b/p8ns9.java、DD7h3/p8ns9.java、aDDE37aE/p8ns9.java - 动态证据索引:
Clean/cleaner-7-pack-2026-08-31/cleanloom/evidence/证据索引.md