Cleaner Toolbox v1.2.0 权限与后台机制拆包报告
Cleaner Toolbox v1.2.0 权限与后台机制拆包报告返回竞品库
报告口径本页直接渲染本地报告真源;静态能力、动态观察、推断和线上未验证项不得互相替代。

宽表格和代码可左右滑动查看。

Cleaner Toolbox v1.2.0 权限与后台机制拆包报告#

精确包名:com.cleanertool.box;样本及资料日期:2026-10-28,Asia/Shanghai(北京时间)。六专题补充版。

S1=当前APK静态直接证据;S2=工具回读;S3=当前真机观察;I=推断;U=未验证。反编译不是原始源码,内置配置不是线上最终配置。发布状态单独记录于批次入口。

结论#

Intro/主页初始化 → OnlineWatch前台服务 → resident通知;OfflineWatch Job100重复登记自身;动态应用/充电/功能监控再各自读取notify_config与用户开关,构建业务通知。

StartCallback的广播父类onReceive为空,所以静态BOOT过滤器不是已实现开机拉活的证明。通知监听、FCM、Job、FGS分开验证;通知读取特殊访问未开启时,通知清理实际效果仍未知。

权限声明、调用及实际授予#

下表完整保留本批Manifest的uses-permission声明;同名不同标签/受版本限制的声明不能直接相加为已获权限数量。运行时仅明确允许通知,未开启文件管理、使用情况、悬浮窗或通知读取等特殊访问;真实工具效果因此未验证。服务上的绑定保护权限与应用获准读取是两回事。

权限 Manifest行 本轮用途/边界
android.permission.WRITE_EXTERNAL_STORAGE 19 旧版存储写入声明;未把此声明当作Android13可任意读写。
android.permission.READ_EXTERNAL_STORAGE 22 存储读取声明;是否生效取决于系统与targetSDK,未将声明当作获准。
android.permission.MANAGE_EXTERNAL_STORAGE 24 所有文件访问声明;未授权该特殊权限,真实扫描/删除未验证。
android.permission.INTERNET 25 网络能力声明;联网业务、广告/配置调用需另核。
android.permission.ACCESS_NETWORK_STATE 26 网络能力声明;联网业务、广告/配置调用需另核。
android.permission.ACCESS_WIFI_STATE 27 网络能力声明;联网业务、广告/配置调用需另核。
android.permission.REQUEST_DELETE_PACKAGES 28 请求系统卸载确认;本轮未执行卸载。
android.permission.POST_NOTIFICATIONS 29 展示通知;本轮仅此运行时权限已确认允许。
android.permission.CAMERA 30 摄像头/手电筒相关声明;本轮未授予。
android.permission.FOREGROUND_SERVICE_DATA_SYNC 31 dataSync类型前台服务声明;未据此外推新版系统长期存活。
android.permission.WRITE_SETTINGS 32 修改系统设置的特殊访问声明;本轮未开启。
android.permission.PACKAGE_USAGE_STATS 33 使用情况访问;本轮未开启特殊访问,不验证其他App使用数据。
android.permission.RECEIVE_BOOT_COMPLETED 74 接收开机广播声明;需再看处理函数,空父类不能算已实现拉活。
android.permission.FOREGROUND_SERVICE 75 前台服务声明;是否使用以组件、调用及真机证据为准。
com.google.android.gms.permission.AD_ID 76 广告/归因生态声明;当前数据采集与出量状态未由权限表证明。
android.permission.ACCESS_ADSERVICES_AD_ID 77 广告/归因生态声明;当前数据采集与出量状态未由权限表证明。
android.permission.ACCESS_ADSERVICES_ATTRIBUTION 78 广告/归因生态声明;当前数据采集与出量状态未由权限表证明。
android.permission.ACCESS_ADSERVICES_TOPICS 79 广告/归因生态声明;当前数据采集与出量状态未由权限表证明。
android.permission.WAKE_LOCK 80 唤醒锁权限声明;本批未验证持有时长。
com.google.android.c2dm.permission.RECEIVE 81 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
android.permission.VIBRATE 82 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
com.android.vending.CHECK_LICENSE 83 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
com.samsung.android.mapsagent.permission.READ_APP_INFO 84 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
com.huawei.appmarket.service.commondata.permission.GET_COMMON_DATA 85 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
com.google.android.finsky.permission.BIND_GET_INSTALL_REFERRER_SERVICE 86 广告/归因生态声明;当前数据采集与出量状态未由权限表证明。
com.amazon.privacypass.ATTEST 87 Manifest声明已核对;具体业务调用/运行时效果本轮未逐项闭合。[U]
com.cleanertool.box.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION 89 应用自定义动态广播隔离权限。

系统API调用点复核#

不是只列Manifest:下表定位系统API/监听回调。业务命名空间与R8合并/工具类分开,后者只证明文件内含API,未把同文件的SDK路径当作业务调用已生效。未命中也不判定不存在,仍需从入口追踪。

能力 静态调用/候选位置 证据边界
所有文件访问检查 仅SDK/其他类命中,不作为业务调用证明 U
文件访问授权入口 本轮模式未定位;可能混淆/封装,不能判定不存在 U
使用情况查询 .queryUsageStats → OXfVHDCufYZsAYdZeENGBMBs/RhxuBPGxYykmPgqvlHVDkVOkMxhxTLzdnjwfnIGDETOKJbsS.java:41(含目标引用的合并/工具类,具体调用链需另核) S1调用点;运行时U
通知监听/清除 onNotificationPosted → com/cleanertool/box/ui/home/more/notify/notification/service/NotifyListenerService.java:41(目标业务命名空间) S1调用点;运行时U
卸载请求 本轮模式未定位;可能混淆/封装,不能判定不存在 U
摄像头/手电筒 .setTorchMode → com/cleanertool/box/remote/notify/receiver/FlashLightReception.java:34(目标业务命名空间)
.setTorchMode → com/cleanertool/box/remote/notify/receiver/FlashLightReception.java:41(目标业务命名空间)
S1调用点;运行时U
系统设置写入 本轮模式未定位;可能混淆/封装,不能判定不存在 U
悬浮窗检查 仅SDK/其他类命中,不作为业务调用证明 U
媒体库访问 MediaStore.Files → CQPojApCTFRo/tlwoTvapSYTFBXYhICFnLzYlWmNQiwhEsIGt.java:154(含目标引用的合并/工具类,具体调用链需另核)
MediaStore.Files → DYgDYjgScmzV/RhxuBPGxYykmPgqvlHVDkVOkMxhxTLzdnjwfnIGDETOKJbsS.java:53(含目标引用的合并/工具类,具体调用链需另核)
MediaStore.Files → mZNEYxgLFNgVTwhFDSvpSDSX/lqyDuXhHWfn.java:47(含目标引用的合并/工具类,具体调用链需另核)
S1调用点;运行时U
前台服务启动 仅SDK/其他类命中,不作为业务调用证明 U
精确闹钟调用 本轮模式未定位;可能混淆/封装,不能判定不存在 U
唤醒锁 仅SDK/其他类命中,不作为业务调用证明 U

服务与广播清单#

以下为服务/广播中与业务后台、通知或恢复相关的声明;SDK类也注明为声明,不把第三方SDKJob直接算成自有恢复链。全部精确组件仍见本地Manifest索引。

类型/组件 动作 FGS类型/保护权限 Manifest行
receiver com.cleanertool.box.remote.notify.receiver.FlashLightReception com.cleanertool.box.WIZ_RESIDENT_LIGHT 未声明 279
service com.cleanertool.box.ui.home.more.notify.notification.service.NotifyListenerService android.service.notification.NotificationListenerService android.permission.BIND_NOTIFICATION_LISTENER_SERVICE 286
service com.cleanertool.box.core.firebase.FCMService com.google.firebase.MESSAGING_EVENT 未声明 295
service com.cleanertool.box.core.firebase.FCMService com.google.firebase.MESSAGING_EVENT 未声明 295
service com.cleanertool.box.OnlineWatch 无静态过滤器 dataSync 331
receiver com.cleanertool.box.StartCallback android.intent.action.SCREEN_OFF
android.intent.action.SCREEN_ON
android.intent.action.BOOT_COMPLETED
android.intent.action.USER_PRESENT
未声明 334
service com.cleanertool.box.OfflineWatch 无静态过滤器 android.permission.BIND_JOB_SERVICE 344
service com.google.firebase.components.ComponentDiscoveryService 无静态过滤器 未声明 518
receiver com.google.firebase.iid.FirebaseInstanceIdReceiver com.google.android.c2dm.intent.RECEIVE com.google.android.c2dm.permission.SEND 591
service com.google.firebase.messaging.FirebaseMessagingService com.google.firebase.MESSAGING_EVENT 未声明 599

业务页面中的权限入口#

页面 实际系统调用/入口 来源

调度和恢复机制分别判断#

OnlineWatch 继承 Sj6g.M0:onCreate/onStartCommand 调 startForeground,onStartCommand 返回 1;onDestroy 清前台状态、onTimeout 停服务。[A7]

OfflineWatch 的 JobService 父类在 onStartJob 重新登记 Job 100,setMinimumLatency(30000),返回 true;不是固定每 30 秒保证执行,也未在该回调发现直接重启 OnlineWatch。StartCallback 父类 onReceive 为空。Manifest 的 BOOT/SCREEN/USER_PRESENT 过滤器和 RECEIVE_BOOT_COMPLETED 声明只能说明注册,不能补出不存在的处理逻辑。[A8][A9]

NotifyListenerService 负责通知清理;FCMService 接收远端消息并处理 Token 路径。测试未启用通知读取权限、开机恢复未闭合、未触发FCM,不作这些链路已动态生效的结论。

触发—条件—状态表#

阶段 已追到的调用链 关键边界 证据
请求资格 scene → x分钟记录数/y阈值 → z分钟禁请求期 NoRequestTime用毫秒存储;不是每日展示量 N1–N4
请求计数 进入load → 写内存与RequestLimitDB 计数对象是请求尝试;失败也可能已有记录 N5
场景与缓存 scene → Flow → 缓存组/有效分钟 → provider 找不到Activity或Flow回调失败 N1
后台 OnlineWatch/OfflineWatch/空广播父类 FGS、Job自登记和Boot处理不能互相替代 原A7–A9
通知 来源组/开关 → 日期配额/环境 → 渲染与UMP 默认关闭状态不推导默认每天18次 原A4–A6/A10–A13

测试设备授权快照#

快照时间:2026-10-28T16:23:40+08:00。null/None表示本次输出没有该项或不适用,不解释为已拒绝;AppOps无显式记录也不解释为已授权。

类型 字段 本次值
运行时权限 POST_NOTIFICATIONS True
运行时权限 READ_EXTERNAL_STORAGE None
运行时权限 WRITE_EXTERNAL_STORAGE None
运行时权限 READ_MEDIA_IMAGES None
运行时权限 READ_MEDIA_VIDEO None
运行时权限 READ_MEDIA_AUDIO None
运行时权限 CAMERA False
运行时权限 ACCESS_FINE_LOCATION None
特殊访问 MANAGE_EXTERNAL_STORAGE NO_EXPLICIT_OPERATION
特殊访问 GET_USAGE_STATS NO_EXPLICIT_OPERATION
特殊访问 SYSTEM_ALERT_WINDOW default
特殊访问 WRITE_SETTINGS NO_EXPLICIT_OPERATION
通知读取 notification_listener_enabled False

系统限制与验证方法#

本轮短时Home/划卡存活与强停结果见真机专题;启动一个Job、注册Receiver、返回START_STICKY均不构成长期成功率。低内存杀进程、确认进入Doze、跨日调度和生产FCM仍需独立事件与时间窗。特殊权限只解释其具体功能用途,不把通知权限泛化为清理必需。

原有代码锚点 A#

编号 证明内容 本地源位置 核验
A1 39 个广告场景枚举 jadx/sources/CqbUWqyjq/XdzFYQaBOhSNtdCAdNRbhVksHnL.java:130–207 已回读
A2 广告配置解析及启动开关回退 jadx/sources/EzIqjciSWNXpSGJxtSqdVjLDpPRtLsosrOEpBJ/XdzFYQaBOhSNtdCAdNRbhVksHnL.java:103–177 已回读
A3 归因回调 jadx/sources/uHSaOdVHJixLfdoZakqCwnOBOIQ/xSwLaWBYjkPSypE.java:540–610 已回读
A4 通知默认数值及远端覆盖 jadx/sources/qkAtNSinzDarTSFdOhAxBuorqxzCxVfOg/sbReiPtQZmAYvXuMtojgqCoWVWHCUcySzKPM.java:24–91 已回读
A5 业务推送/Activity 开关默认关闭 jadx/sources/OMjrFSsXzyxOwOtQbqiqSRCVMJiWrEcLhoJcZAtonrVZd/XdzFYQaBOhSNtdCAdNRbhVksHnL.java:17–26 已回读
A6 功能计数及环境门禁 jadx/sources/AoSom/RhxuBPGxYykmPgqvlHVDkVOkMxhxTLzdnjwfnIGDETOKJbsS.java:233–319 已回读
A7 前台服务生命周期 jadx/sources/Sj6g/M0.java:16–44 已回读
A8 Job 100 重新登记 jadx/sources/t/Sj6g.java:15–34 已回读
A9 广播父类为空 jadx/sources/Sj6g/Sj6g.java:8–12 已回读
A10 提醒业务枚举 jadx/sources/CqbUWqyjq/AobZYgwIQvCqoayj.java:52–77 已回读
A11 功能通知正文和目标页 jadx/sources/EkdlTOKXFYqyMXGEkpWNfOJmPUE/lqyDuXhHWfn.java:80–145 已回读
A12 提醒间隔与点击区间 jadx/sources/LHMYaSlPhpABDiTlzEmEKSgCjbaYNAKZtlPBfpJUI/hUNmranEFhWqZzLxyxYvFVjzvXsCXpHryomP.java:48–140 已回读
A13 常驻 ID/Channel jadx/sources/NjRumLKeKzoOGplzlLzjAVjMYmAsXUtXLtToLpDAONkrdO/XdzFYQaBOhSNtdCAdNRbhVksHnL.java:13–29 已回读

本轮补充代码锚点 N#

编号 证明内容 本地源位置 核验
N1 窗口请求统计、禁请求期与缓存选择 jadx/sources/GkufAJmzwWf/xSwLaWBYjkPSypE.java:52–140 已回读
N2 恢复常规反编译遗漏的禁请求时间更新 analysis/simple/GkufAJmzwWf/xSwLaWBYjkPSypE.java:65–108 已回读
N3 Calendar毫秒值进入数据更新函数 jadx/sources/AMKYQYuBzlogjdRzWzlWVNLaZgVzRvxpARt/RhxuBPGxYykmPgqvlHVDkVOkMxhxTLzdnjwfnIGDETOKJbsS.java:119–125 已回读
N4 NoRequestTime实际setter jadx/sources/SYkeQUFUxouUSrgGmFUloUjRHaxCczCiWZjOjzryjAbeCXv/XdzFYQaBOhSNtdCAdNRbhVksHnL.java:88–91 已回读
N5 load开始时记录请求,而非show成功计数 jadx/sources/vFfWvBzJXvDvbSlbyChiCJjqCgRwfpeVl/AobZYgwIQvCqoayj.java:69–91 已回读
N6 近期请求记录SQL删除条件 jadx/sources/wshTxWbEmiE/wXwzvYwYOIcUQVwIXPyletjeKDZdGgDjnEzXWhPgF.java:43–65 已回读

六专题导航#

专题 用途
产品功能与商业化分析 业务任务、页面、广告与来源链
权限与后台机制拆包报告 声明、调用、实际授权和功能边界
保活与拉活反编译代码册 机制图、主链步骤、代码片段与控制流修复
拉活通知规则与文案全量报告 触发、状态、频控、动作、候选和多语言全文
样本与证据索引 版本、split、签名、定位与证据范围
真机动态验证与后台存活报告 真实操作、后台矩阵、观察与未执行项
竞品拆包报告库 · 逆向结论按证据等级阅读