NeatPulse v1.0.3 保活恢复、通知召回与产品族群逆向报告
NeatPulse v1.0.3 保活恢复、通知召回与产品族群逆向报告返回竞品库
报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。

NeatPulse v1.0.3 保活恢复、通知召回与产品族群逆向报告#

包名:com.np.clean
样本:Google Play 当前安装包,versionName V1.0.3versionCode 4
测试设备:Pixel 6a,Android 16 / API 36
报告日期:2026-08-31

1. 一页结论#

  1. [静态 + 动态确认] NeatPulse 使用与 CleanMas/CleanLoom 高度一致的白标常驻框架。 主 FGS OzIg4T4.eE0especialUse/quick entrySTART_STICKY;正常启动 PID 31619、通知 ID 8781
  2. [静态确认] 快速恢复 Job 为 2.268–4.268 秒;周期 persisted Job 为 21分38秒–21分40.268秒;Alarm 约 8 小时。
  3. [动态确认] 正常打开后主 FGS、周期 Job ID 2913 和 8 小时 Alarm 均真实存在。
  4. [动态确认] 本次重启没有成功恢复前台服务。 Boot Receiver 确实创建了进程,周期 Job 和 Alarm 也恢复;但主 FGS 与短 JobService 都被 Android 16 以 mAllowStartForeground=false 拒绝,超过 75 秒仍没有 isForeground=true
  5. [重要解释] 它不是完全没拉起,而是“进程被广播拉起、FGS 建立失败”。 观察到 PID 和 Firebase/WebView 服务不能等价为常驻成功。
  6. [动态确认] Force Stop 是硬边界。 隔离测试 1 秒和 16 秒均无 PID,stopped=true
  7. [动态确认] 正常启动时看到 ID 4545、importance 5 的业务通知。 它与 CleanLoom 的通知 ID/flags/RemoteViews 形态一致。
  8. [族群高置信] NeatPulse 虽然品牌和签名独立,但与 CleanMas 有 917 条 strings 精确相同,并共享 FGS/双 Job/Alarm/Boot/FCM/通知监听器和时间抖动算法。 应归入同一技术母版,不直接认定同一商店主体。

2. 样本身份#

项目
应用名 NeatPulse
applicationId com.np.clean
版本 V1.0.3(versionCode 4
minSdk / targetSdk 24 / 36
base APK 大小 45,203,129 bytes
base APK SHA-256 8b4480f948c9cd1be768e05914e9616362c3b642501ecad352434c479eaa58d4
签名 SHA-256 ef858dc7a6b964266e0bf0857b8903b20ecdb768b0486d43e7e176a63bc4e537
业务代码根 www.real.tea
配置域名 https://rne.privaaclean.com
安装来源 Google Play,installer=com.android.vending

3. 保活与恢复#

Boot / 正常启动 / onDestroy / onTaskRemoved
                  │
                  ▼
 OzIg4T4.eE0e 主 FGS
 specialUse / quick entry / START_STICKY / ID 8781
                  │
                  ▼
 a8US063.eE0e 短 Job(2.268–4.268 秒)

Zt0.eE0e:约 21.6 分钟 persisted Job
E5445lT.eE0e:约 8 小时 Alarm
ZZAa3.eE0e:BOOT_COMPLETED / MY_PACKAGE_REPLACED
e2ZEoz6.eE0e:FCM
组件 当前值 作用
主 FGS ID 8781,specialUse,START_STICKY 正常打开后的常驻载体
快速 Job 2,268–4,268ms FGS 恢复桥接,但本次 Boot 后被系统拒绝前台资格
周期 Job 1,298,000–1,300,268ms persisted/high 周期机会
Alarm 28,799,356ms 约 8 小时通知/topic 维护
Boot Receiver Boot + 包更新 创建进程并进入恢复 helper

3.1 真机结果#

场景 结果
正常启动 PID 31619;主 FGS 前台;ID 8781;START_STICKY
Job ID 2913;约 21分38秒–21分40.268秒;persisted/high
Alarm 约 7小时59分51秒后;window 1 小时
Force Stop 1 秒、16 秒均无 PID,stopped=true
重启 45 秒 无 PID;Job 与 Alarm 已恢复排队
重启约 75 秒 PID 15887 出现;Boot Receiver、Firebase Session、WebView 有活动;主 FGS ServiceRecord app=nullstartForegroundCount=0
系统日志 主 FGS 与短 JobService 均出现 startForeground... not allowed

因此本次 Boot 结论必须写为:广播能拉起进程并恢复调度,但没有建立前台服务,保活恢复失败。 这也说明同一白标框架在不同包、不同 Boot 投递时序下可能产生不同结果。

4. 通知召回#

4.1 本轮动态#

类型 观察
常驻通知 正常打开时 ID 8781,渠道 NeatPulseOGA,Ongoing/Only alert once
业务通知 ID 4545,渠道 NeatPulseJBs,importance 5,Ongoing + Auto cancel
Boot 后 主 FGS 未成功,因此没有把进程存在误记为常驻通知成功

4.2 静态规则#

NeatPulse 与 CleanMas/CleanLoom 的通知模板和门槛高度一致:

  • 入口:TIMER、HIGH、BOOT、HOME、UNLOCK、UPGRADE、包变更、电池、网络、截图、后台、FCM;
  • 门槛:App 不在前台、未锁屏、屏幕亮、竖屏、首次延迟、last_noti_time 冷却、场景计数;
  • 模板:Memory/RAM/Storage、Junk、Screenshots、Full charged、Low battery、Charging started、Network switched;
  • FCM topic 订阅失败从 30 秒指数退避到 24 小时。

这些都是客户端候选路径;服务端人群、发送频率、TTL、优先级和真实曝光量不可从 APK 得出。

5. 产品族群#

指纹 NeatPulse CleanMas/CleanLoom 判断
签名 独立 ef858d… 同签名 fe2573… 非同签名发布
业务根 www.real.tea jahkshfa.hk.ep 品牌分支不同
strings 960 条 CleanMas 943 条 917 条精确相同
FGS specialUse/quick entry 同构 一致
恢复任务 快速 Job + 21.6m Job + 8h Alarm 同算法 一致
通知模型 同事件码、模板、门槛 同构 一致

结论:NeatPulse 是同一技术母版的独立品牌/发布分支。 代码同源置信度高,但缺少同签名、同开发者或同域名证据,因此不认定它和 BetterFly Games 是同一法律主体。

6. 未验证项#

  • 多次重启后是否偶尔能在 Boot 临时白名单窗口内成功建立 FGS。
  • 21.6 分钟周期 Job 到期后是否能从无 FGS 状态恢复主服务。
  • 不同 ROM、长期 Doze、后台限制设置下的恢复率。
  • ID 4545 的准确场景、文案和点击路由。
  • Remote Config 与 FCM 服务端策略。
  • Force Stop 无法突破。

7. 证据位置#

  • APK:Clean/cleaner-7-pack-2026-08-31/neatpulse/apk/
  • JADX:Clean/cleaner-7-pack-2026-08-31/neatpulse/jadx/
  • 关键类:OzIg4T4/eE0e.javaa8US063/eE0e.javaZt0/eE0e.javaE5445lT/eE0e.javaZZAa3/eE0e.javae2ZEoz6/eE0e.java
  • 动态证据索引:Clean/cleaner-7-pack-2026-08-31/neatpulse/evidence/证据索引.md
竞品拆包报告库 · 逆向结论按证据等级阅读