Skip to content

FanqieHook v0.8.8

Choose a tag to compare

@afwfv afwfv released this 15 Oct 13:10
· 5 commits to main since this release

更新内容:
v0.8.8 - 修「偶尔漏出一条广告」

  • 广告位过滤(checkAdAvailable)此前是唯一一条没有 deoptimize 的 hook。用 DexSQL 对
    73932 宿主做全量调用图复核后确认:这条方法是主进程里所有广告位可用性的唯一汇聚点 ——
    AB 表方法 b(String) 只被它调用,不带 source 的包装 c(String)(日志名
    checkAdAvailableWithoutSource)也只是转调 checkAdAvailable(position, null),
    其余 44 个调用点全部直接打在它上面
  • 也就是说:这条 hook 生效时任何位置都拿不到广告,而只要有一个调用点没被 hook 住,它就会
    原样拿到真实判定结果
    。ART 会把这种高频小方法内联进调用方,内联出去的副本不经过 hook,
    表现正是「大部分时候拦住了、偶尔漏一条,日志里连一行都没有」。其余闸门(阅读器、TopView、
    开屏、听书)一直是 deoptimize = true,只有这条当初写成了 false
  • 现在改成 deoptimize = true,与其余闸门一致。拦截范围、拦截名单、日志格式都没变
  • 只影响首次安装/升级后的第一次启动(重建 hook 时多做一次 deoptimize)

Built from a2feb53f3a3b2beb02c54fc0d8b2dfe341e56767