FriendlySchool

校园/常用 App 净化 · 去广告 · 灭活后台采集

Powered by LSPosed License Min SDK Android libxposed API

Release Downloads

简体中文 | English


简介

FriendlySchool 对下面几个 App 做客户端侧净化:拦掉广告与后台采集的出口、收起营销入口, 同时保留刷卡、充值、余额、付款码这些真实业务。

做法上以拦出口为主:被拦的广告接口返回「该广告位已关闭」这类成功空响应,让 App 走它自己既有的正常分支, 而不是把请求打断、把状态机掐死。

安装:下载 APK → 装好 APK → 在 LSPosed 里启用本模块 → 重启目标 App(三个目标已在模块里声明,通常无需手动挑选)。

兼容与版本

  • Android 8.0(API 26)及以上;使用支持 libxposed API 102 的 LSPosed 框架。
  • 模块包名:io.github.shitianyaa.friendlyschool;当前版本:2.1(versionCode 3)。
  • 旧包名 com.yiran.friendlyschool 与本包可并存。迁移时先停用旧模块,再启用本模块并重启目标 App,避免重复 Hook。

此前研究与真机验证记录覆盖以下目标版本;其他版本尚未确认兼容:

应用 已分析 / 验证的版本
易校园 7.7.8
WakeUp 课程表 6.5.0(versionCode 540)
JMComic3 2.1.9

2026-10-01 在 Android 17 / LSPosed 2.2.0-it(7901,API 102)上完成新包名 APK 的回归:三个 App 各 3 次飞行模式冷启动,再恢复联网检查;关键 Hook 无丢失、入口点失效数为 0,设备包与构建 / 交付副本哈希一致。用户在手机端确认余额刷新、付款码、课表、去广告 / 签到及排版正常;未清除用户数据。

本次修复了易校园资源读取与命令执行拦截中的异常传递,避免框架保护模式将主动拒绝吞掉。

作者已在以下设备自测正常:

设备 系统 结果
一加 12 Android 16 正常
红米 Turbo 3 Android 17 正常

✨ 支持的应用

易校园 · cn.com.yunma.school.app

它自带的链路比较重:内置 2.2 MB 的 ELF curl 释放链与透明命令 Activity、广告 SDK 内嵌的 shell 工具、 面向 220 款应用的扫描名单(结果回传第三方域名)、剪贴板抓取,以及 15+ 家广告 SDK。模块的处理:

  • 开屏直达:开屏页起来后直接走官方跳转,不再等广告回调;
  • 广告全链路拦截:广告中枢与各广告 SDK 的加载/展示全断(开屏、插播、Banner、信息流、营销弹窗、公告位);
  • 后台采集与命令执行拦断:应用列表扫描、剪贴板抓取、Mob 采集、快手探测,以及 curl / Shell / 命令 Activity;
  • 界面精简:首页「课程表」入口与「今日课表」卡片、我的页签到/积分/礼包卡片隐藏;消息中心只留一卡通类通知。

WakeUp 课程表 · com.suda.yzune.wakeupschedule

  • 去广告:开屏、插播、商城位、首页 banner 与弹窗全部关闭;
  • 关掉付费链路:卖课 / 会员 / 收银台入口与会员专区全部拦断;
  • 免登录:不弹登录页、不显示登录卡片(代价见下);
  • 界面精简:底栏裁到「日程︱课表」、清除顶栏礼包图标与浮窗商城、隐藏「普通提醒」行。

JMComic3 · com.a7m3p9xv.t6qk2z8.app

(禁漫,成人内容站点客户端)

  • WebView 层去广告:清空广告缓存的读写两侧并拦掉广告接口,所有广告位无事可做;
  • 开屏:仅在封面未走完的窗口内,让 App 走它自己的「免广告会员」分支跳过纯广告封面(只改这一个显示标志,余额/到期/等级等其它字段保持服务端原值);
  • 自动每日签到:用你自己的账号调官方接口签到,结果会在 App 内弹一条提示(AUTO_CHECK_IN 可关)。

⚠️ 已知边界

  • 目标 App 升级后可能失效:升级会改类名/方法名,这是所有 Xposed 模块的共同宿命;日志里会明确写出「找不到」的行。
  • 会移除部分非广告入口:易校园的首页「课程表」入口、「今日课表」卡片与我的页三大积分卡片;WakeUp 的「我的」整页、三个底栏标签与「普通提醒」行。
  • WakeUp 免登录的代价:课表只存本机 —— 云同步不可用,卸载 / 清数据 / 换设备会丢失(学校教务系统的导入页不受影响)。
  • 易校园拦 shell 的副作用:App 自带的网速探测会失败;易校园自己的设备指纹持久化不在本模块范围内。
  • JMComic3 会以你自己的账号发少量请求:签到(读日历 → 提交 → 回读,最多 4 个请求,必要时重试一次)与一次有界的启动期状态采样(每 3 秒一次、最多 100 次,约 5 分钟后自停)。
  • 有被服务端风控识别的可能:改客户端行为总有这个风险,请自行评估。

源码与构建

源码与构建方法见 shitianyaa/FriendlySchool。本仓库提供模块介绍与 APK Release。

📜 许可证

本项目采用 MIT。

module/lib/api-102.jar 是 libxposed API 的编译桩,采用 Apache-2.0,来源与哈希见 依赖说明。它只用于编译期打桩,不会进入产物 dex。

Releases

2.1

Stable

10/1/2026, 3:44:49 PM

FriendlySchool 2.1 首次公开发布。

  • 支持易校园 7.7.8、WakeUp 课程表 6.5.0、JMComic3 2.1.9:去广告、拦截后台采集、精简营销入口。
  • 修正易校园资源读取与命令执行拦截的异常传递,避免框架保护模式放行。
  • 作者已在一加 12(Android 16)、红米 Turbo 3(Android 17)验证正常;自动回归中三个目标 Hook 无丢失,62 项桌面断言通过。

安装:下载 APK,在支持 libxposed API 102 的 LSPosed 中启用,再重启目标 App。若装有旧包名 com.yiran.friendlyschool 的模块,请先停用旧模块,避免重复 Hook。

包名:io.github.shitianyaa.friendlyschool
版本:2.1(versionCode 3)
SHA-256:ac59f24e9bc135f56de408d20e662f95de4c995e7de562cb0bde186a3c2437ba

源码与已知边界:https://github.com/shitianyaa/FriendlySchool

Assets

1