--- title: Checkpoint 2026-09-24 22:41:25 UTC [c21a23ed25] type: checkpoint permalink: main/projects/280dd2a0-d23d-4a71-91e1-dce4353163be/checkpoint-2026-09-24-22-41-25-utc-c21a23ed25 stable_id: b09c2f86-e435-4a5b-a105-bbedcaabe8ae scope: project memory_type: checkpoint project_id: 280dd2a0-d23d-4a71-91e1-dce4353163be usage_profile_id: 0c9feb46-d06e-43cd-9ef0-c5813c84a998 status: active revision: 1 request_id: ckpt-cdn-heap-20260925 created_at: '2026-09-24T22:41:25.547480+00:00' updated_at: '2026-09-24T22:41:25.547480+00:00' tags: - cdn - handover --- 完成:用户在原包里播放后,从进程堆扫出完整 BunnyCDN m3u8,并用 curl 验证主列表与 1080p 子列表均为 200,子列表含 video0.ts–video16.ts 且有 ENDLIST。 原因:日志只打 url预览并截断为 HS256...;外部 playlistv2 仍 299,所以 CDN 只能从进程内拿。 关键实现:Frida 16.5.9 挂在已运行的 com.leivideo.raptdrama,扫 rw- 区间字节串 bcdn_token=,向前向后取可打印 URL。ExoPlayer 的 DataSpec 类未加载,HlsMediaSource$Factory 方法被混淆且本次没再触发创建。 验证:主 m3u8 Content-Type application/vnd.apple.mpegurl,1082x1920;子列表 TARGETDURATION 4,17 个 ts,约 66 秒。 问题:本次拿到的片段很短,可能是预览或短片,不一定是完整剧集。堆里同时有多个 video uuid。脚本 rapt_scraper.py 仍不能填 cdn_url。 下一步:若要全量自动化,改为进程内截 Dio 响应或播放后扫堆,不要再用外部 token 调 playlistv2。 给下个会话:原包仍在跑;frida-server-16 在 /data/local/tmp/frida-server-16,客户端 16.5.9;全局代理仍是 10.0.2.2:8888;禁止 mitmproxy transparent 与 reFlutter;不要把 CDN 签名、Charles 注册码、邮箱写进记忆;不要提醒用户时间。