Skip to content

Releases: afwfv/FanqieHook

FanqieHook v0.8.8

Choose a tag to compare

@github-actions github-actions released this 15 Oct 13:10

更新内容:
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

FanqieHook v0.8.6

Choose a tag to compare

@github-actions github-actions released this 30 Sep 15:51

更新内容:
v0.8.6 - 适配番茄小说 7.3.9.32(versionCode 73932)

  • 把 73932 加入支持列表。逐条复核后的结论是这个版本不需要改任何拦截逻辑:25 个番茄侧
    目标(类 + 方法 + 参数 + 返回类型)全部命中,46 个广告位名在宿主字符串池里零缺失,
    广告位总表的 45 个位置常量与 73967 完全一致;搜索页三个 AI 入口、短剧广告总开关与横屏
    插入开关的字段反查落点也没变,DexKit 两个接口实现类仍是 eg3.a / mb3.f
  • 登记后 73932 启动不再打 unverified host version 警告,拦截行为与 0.8.5 相同
  • 顺带核对了 32 条目标在 73967 → 73932 的调动情况:每条目标的调用点数逐条相同,
    没有变成死代码的开关(ad 命名空间也没有新增或删除的类)
  • 真机实测(本机 73932):hooks installed=32 skipped=1 known-missing=[hongguo-banner-join-revert]、
    lost=[](唯一跳过的是红果专属类,番茄侧本来就没有);状态文件里实测拦到
    reader_banner / video_reader_ad / creator_ad / splash_ad 以及开屏闸门 canShowScreenAd
  • 红果免费短剧 7.3.9.32(73932)一并登记:26 条目标(含红果专属 banner 服务)逐条命中、
    46 个广告位名零缺失、广告位总表与 73732 完全一致;DexKit 落点跟着改名自动跟上
    (广告配置 yb3.a → tc3.a、全屏广告 g73.f → a83.f),零死 hook
  • 红果真机实测(本机 73932):hooks installed=30 skipped=3,跳过的 3 条是搜索页 AI 净化
    (红果没有对应界面,属预期缺失),lost=[];实测拦到 creator_ad 与开屏闸门
  • 红果这次版本更新新增了一批激励广告类(IDrawRewardAdService 等 23 个新类),
    零广告模式下广告位过滤一律返回「无广告」,新位置不用登记也自动拦

Built from 11f9b98f2fe646dd69423694759327adffdb4d36

FanqieHook v0.8.5

Choose a tag to compare

@github-actions github-actions released this 20 Sep 13:03

更新内容:
v0.8.5 - 适配番茄小说 7.3.9.67(versionCode 73967)

  • 界面净化(新增):隐藏搜索页的两个 AI 入口——banner 内入口、搜索框内入口,以及
    搜索页 AI 悬浮球。目标方法名是混淆名(73967 上为 FanqieSearchActivity#Y1/Z1/q1),
    但各自唯一读取一个稳定的 ssconfig 模板字段(entryInBanner / entryInSearchBox /
    showFloatButton),因此复用已有的字段反查定位,宿主以后换字母可自动跟上。
    纯 UI 显示判断,不触碰权益、会员、内容数据
  • 把 73967 加入审计集(SUPPORTED_VERSION_CODES),该版本启动时的
    unverified host version WARN 变为 INFO。纯日志级别调整,不影响任何 hook。
    73967 的核验依据写在 FanqieModule 的审计注释里:静态复核(两个 ExperimentUtil
    getter 仍按字段唯一命中、37 个位置名零缺失、实现类仍为 eg3.a / mb3.f)
    加上真机实测(installed=29 skipped=1、lost=[],且记录到 73732 → 73967
    原地升级时字段反查自动由 q0 跟到 s0)
  • 未纳入的净化项(各自缺干净目标或风险过高):角标红点(MineRedDotManager 只被自身与
    hf4.e#run() 引用,无可翻转的布尔门控)、搜索词轮播(Compose View,方法多为 void)、
    小说推荐位(主内容瀑布流,误 hook 会破坏首页)、会员特权卡(位于权益数据层,
    只找 UI 层显示门控,不碰权益 getter)

Built from 9341c6281e202b8afee2766b50aae0c7e79bbc09

FanqieHook v0.8.4

Choose a tag to compare

@github-actions github-actions released this 20 Sep 12:46

更新内容:
v0.8.4 - 适配番茄小说 7.3.9.67(versionCode 73967)

  • 零广告:广告位过滤改为一律拦截。checkAdAvailable 对所有位置都返回「无广告」,
    被动广告位、用户主动的激励/金币位、以及宿主以后新增的未知位置全部一并拦掉,
    不再需要维护拦截名单
  • 代价(重要):用户主动点的「看视频得金币 / 看广告免广告 / 看视频催更 / 听书激励 /
    看视频解锁章节」等入口会失效——那里已经无广告可播。发奖仍由服务端校验,
    本地拦广告不会让金币或权益白得;少数「看广告解锁内容」型的位,其表现取决于宿主是
    等广告回调还是乐观放行
  • 73967 静态复核:现有 37 个位置名在该宿主里全部存在、零缺失;AB 表 40 个位置已全覆盖
  • 73967 实测:install summary hooks installed=29 skipped=1、lost=[];
    并记录到一次真实升级(73732 → 73967)中横屏插入广告开关自动由 q0 跟到 s0
  • 拦截日志按来源分类输出 kind=passive / reward / unnamed,便于回看拦到了什么

Built from b70c0c0475a9b49c46440273ab7e7891cd1eceb0

FanqieHook v0.8.3

Choose a tag to compare

@github-actions github-actions released this 19 Sep 18:25

更新内容:
v0.8.3 - 适配番茄小说 7.3.9.17(versionCode 73917)

  • 解决混淆名跨版本漂移:原本按 ExperimentUtil#q0() 硬编码的「横屏插入广告」开关,
    在 73917 上被改名 s0()Z(原 q0 改成返回 long 成了另一个配置),硬编码路径下会静默
    失效。改为按它读取的稳定字段 landscapeInsertAdEnable 反查 getter(ClassResolver 用
    DexKit 按「无参 boolean 方法 + 读该字段」查表);enableMultiSeriesFlowAd(系列信息流
    总开关)也换成同样的字段反查。字段名是业务名、跨版本不变,以后宿主再改混淆字母不用重新适配
  • 修复状态文件丢诊断的 bug:之前超过上限会把整个文件清成一行 ... truncated ...,把当次
    启动的「unverified host version」WARN 和每个 hook 的跳过原因都冲掉——恰好是宿主升级后
    定位问题最需要的那几行。改为保留最近 192 KB(按行边界对齐)
  • 73917 上 DexKit 自动跟进:广告实现类 lf3.a → eg3.a,全屏广告 mb3.f
  • 真机实测 73917:install summary hooks installed=29 skipped=1,lost=[](唯一 skip 是
    红果专有类,本机未装红果)

Built from 163b892146ea686d5daa35d16062bb1fa74b8463

FanqieHook v0.8.2

Choose a tag to compare

@github-actions github-actions released this 12 Sep 17:38

更新内容:
v0.8.2 - 适配番茄小说 7.3.7.32(versionCode 73732)、红果免费短剧 7.3.7.32(73732)

  • 补拦红果推荐流里的广告位 recommend_video(真机实测该位置会走到广告可用性检查但此前
    未分类,属于漏拦)
  • 把金币 / 奖励类广告位一次性登记齐全(gold_coin_reward_*、video_gold_coin_reward_*、
    listen_coin、video_coin_ad 等),这些是"看广告换金币"的用户主动流程,按设计保留,
    登记后不会再被当成"待分类"反复上报

Built from 985aab3c7ecabd2cb6f865ed36cdf98a5ad4354f

FanqieHook v0.8.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 17:27

更新内容:
v0.8.1 - 适配番茄小说 7.3.7.32(versionCode 73732)、7.3.7.18(73718)

  • 番茄更新后不再需要重新适配:以前版本号不在支持列表里就一条 hook 都不装,番茄一升级
    模块就变成"装了但完全没效果",必须等适配。现在改成逐条安装:某条规则的目标没了,只跳过
    那一条并在日志里记下来,其余照常生效——升级最多是少几条效果,不会整体失效
  • 新增支持 7.3.7.18(73718):此前这个版本会被版本校验直接拒绝,模块加载后一个 hook 也不装,
    表现就是"装了但完全没效果"
  • 新增两种排查渠道:logcat(adb logcat -s FanqieHook)与宿主 cache 目录下的
    fanqiehook.log 状态文件。部分 LSPosed 版本不写模块日志、部分设备还关闭了 logcat,
    有状态文件时仍能确认模块是否生效:
    adb shell su -c 'cat /data/data/com.dragon.read/cache/fanqiehook.log'
  • 安装结果会汇总成一行 install summary: hooks installed=N skipped=M,没装上的会列出名字,
    反馈问题时带上这一行就能定位
  • 模块名从「番茄 红果 版本7.3.7.32去广告」改为「番茄 红果 去广告」,不再把版本号写进名字

Built from ad57667fb906854d6c83d9a929ccb8dbdf1546fb

FanqieHook v0.8.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 07:36

更新内容:
v0.8.0 - 适配番茄小说 7.3.7.32(versionCode 73732)

  • 红果免费短剧 7.3.7.32(73732)同基线适配
  • 激励视频:不提供「秒领」——番茄的发奖由服务端校验,客户端做不到;看满时长正常发奖

Built from 4871526780486ff2479aab236d9d6954024715d9

FanqieHook v0.7.1

Choose a tag to compare

@github-actions github-actions released this 12 Sep 06:57

更新内容:
v0.7.1 - 适配番茄小说 7.3.7.32(versionCode 73732)

  • 移除实验性的「激励秒领」:真机实测无效(金币不增加),激励视频恢复为正常观看
  • 修复广告关闭回调传空参数会抛异常的问题

Built from 6861ab2ef612163d9e3a5123bfc31942d661ef90

FanqieHook v0.7.0

Choose a tag to compare

@github-actions github-actions released this 12 Sep 06:50

更新内容:
v0.7.0 - 适配番茄小说 7.3.7.32(versionCode 73732)

  • 尝试新增「激励秒领」(默认开启);该功能经真机实测无效,已在 0.7.1 撤回

Built from 4f2682b0c195b2e299a90caddce9dc543a602282