FreeMOMODownloads Downloads

FreeMOMO 是一个配合 LSPosed 与 Zygisk 使用的墨墨背单词增强模块,用于修改单词上限、用户等级和相关权限。

当前版本:3.4

已适配:墨墨背单词 5.6.00(versionCode 900)

内置映射版本直接安装 Java 层 Hook,无需等待结构扫描。其他版本会尝试根据运行时结构自动适配;如果某项结构无法唯一确认,该项会安全关闭。native 层仍需匹配已验证指纹,不能自动迁移。

使用前准备

使用前请先安装并启用:

  • LSPosed
  • Zygisk Next

注意:首次启动时需要等待 LSPosed Hook 和 Zygisk native 模块完成初始化。请在 App 中停留的时间久一点,不要刚进入墨墨就立即退出。

免 root 用户: 请使用 rootless 分支。

为什么需要 Zygisk 模块

墨墨背单词 5.5.30 及后续版本的部分检测已经移动到 native 层,单独使用 Java 层 Hook 无法修改这部分逻辑。

  • LSPosed 模块负责 Java 层的单词上限、等级和权限 Hook。
  • Zygisk 模块负责在进程早期处理 native 层的 SecNeo 检测。

两部分职责不同,缺少 Zygisk 模块时,Java Hook 无法替代 native 层处理。

当前 native 适配只支持 4096 字节内核页,保留精确映射尺寸与九点指纹校验。监控计时与映射生命周期边界见 Zygisk companion 文档。

使用方式

  1. 从 Releases 下载 freemomo.apk 和 freemomo-zygisk.zip。
  2. 安装 freemomo.apk。
  3. 在 LSPosed 中启用 FreeMOMO,作用域只勾选墨墨背单词(com.maimemo.android.momo)。
  4. 在 KernelSU/Magisk 模块管理器中安装 freemomo-zygisk.zip。
  5. 安装或更新 APK 后,完全退出墨墨背单词再打开,使 LSPosed 加载新模块。Hook 安装成功后会显示“FreeMOMO 业务 Hook 已找到”。
  6. 需要自动适配的其他版本会寻找 Hook 方法并将结果保存在本地;首次启动请停留一会儿,看到上述 Toast 后完全退出并再次打开墨墨背单词。

许可证

本项目基于 MIT License 开源。

免责声明

本项目仅供学习和研究使用,请勿用于商业或非法用途。使用本项目产生的一切后果由使用者自行承担,本项目不提供任何明示或暗示的适配性、安全性或合法性担保。

Releases

10/23/2026, 4:51:26 PM

重大更新: 自FreeMOMO 3.4起,新增免root实验版,请通过rootless 分支体验。

暂无适配 5.6.00 以上版本的打算,若新版本值得适配,请提 Issues。

Full Changelog: RRRRUDDDD/FreeMOMO@v3.3...v3.4

新增与优化

  • 新增上传数据保护:在请求序列化出口(Gson 与 org.json)拦截上报数据,把恰好等于模块替换值的泄漏上限改回真实上限(例如 max_voc_count),正常数据不受影响,降低服务端风控风险。如有已被封号的,可通过 #2 的方法转移数据。
  • 使用 libxposed API 101 的现代模块格式声明 staticScope=true,LSPosed 作用域锁定为墨墨背单词,无法再勾选其他应用;旧 xposed_init 入口保留,兼容旧框架。
  • 优化单词上限与净化扫描:缓存净化关键字、先做一次 token 预检跳过无关请求,减少每次序列化的字符串扫描。
  • 优化发现与扫描路径:已安装目标快速返回,跳过不必要的 512 项清单集合与云端相关性集合构建,限制失败类可读性探测数量,减少重复反射与读取。
  • 优化更新保护:只持久化与已加载基线不同的扫描结果,避免每次启动重复写入;回调路径减少临时集合与字段查找。
  • 回滚逻辑改为共享实现:逆序尽力卸载全部句柄,单个失败不会中断其余清理;VM 级致命错误在全部尝试后再抛出。
  • 新增类型专用错误日志,回调边界不再记录业务参数或异常消息。
  • native 层加固:fork 子进程日志改为信号安全写法,子进程崩溃返回真实信号码,监控析构只读检查所有权,尾段休眠设置 200us 下限,轮询节拍统一到一处。

修复

  • 单词上限替换增加 601..19999 范围门,超范围值不再写入。
  • 修复回滚过程中单个句柄卸载失败会中断后续句柄清理的问题。
  • 修复 native fork 子进程崩溃后被误判为成功退出的问题。
  • 修复监控对象析构时可能误认领所有权、尾段休眠退化为忙等的问题。

使用注意

  • 请同时更新 freemomo.apk 与 freemomo-zygisk.zip,并在安装 Zygisk 模块后重启设备。
  • 本版本仍只适配墨墨背单词 5.6.00(versionCode 900);native 层仅支持 4096 字节内核页。
  • 应用内防更新不能阻止应用商店或系统安装服务更新 APK,请自行管理商店自动更新设置。

Assets

2

10/6/2026, 8:10:41 AM

暂无适配5.6.00以上版本的打算,若新版本值得适配,请提Issues 。

Full Changelog: RRRRUDDDD/FreeMOMO@v3.2...v3.3

新增与优化

  • 优化墨墨背单词 5.6.00 的应用内防更新保护:升级分发、下载预检查、下载启动、重试和模型安装入口独立安装,不再依赖完整手动更新适配器一次性成功。
  • 增加有界恢复机制:首次安装不完整时,在首次界面恢复及其一秒后各重试一次;已成功安装的入口不重复注册。
  • 改进故障日志,标明失败成员、注册阶段和异常类型,不记录业务参数或异常消息。
  • 优化扫描性能:按进程记忆 Dex 清单、精确类扫描跳过全局类名集合构建,减少重复反射与读取开销。

修复

  • 修复部分通知字段或手动更新回调不可用时,已验证的核心防更新入口也未能安装的问题。
  • 修复安装失败及重试时的回调状态隔离和清理问题;回滚时先禁用回调,并在单个卸载失败后继续清理其余句柄。
  • 修复 SecNeo 检测子进程异常退出后导致墨墨主进程退出的问题。

使用注意

  • 应用内防更新仅覆盖墨墨主进程内已验证的更新入口,不能阻止应用商店或系统安装服务更新 APK;请单独管理商店自动更新设置。
  • 完整更新适配器启用后保留手动检查和主动升级;降级保护状态下,手动升级也可能暂时不可用。
  • 请同时更新 freemomo.apk 与 freemomo-zygisk.zip,并在安装 Zygisk 模块后重启设备。

Assets

2

9/14/2026, 2:08:40 PM

请同时更新zygisk模块与lsp模块!!!

Full Changelog: RRRRUDDDD/FreeMOMO@v3.1...v3.2

新增与优化

  • 新增墨墨背单词 5.6.00(versionCode 900)的精确 Hook 适配,保留 893、898 的已有适配。
  • 新增针对墨墨 5.6.00 的应用内自动更新控制,阻止自动检查、升级通知、弹窗和自动下载,保留手动检查、主动升级及其异步下载和重试。
  • 更新流程按每次手动操作传递授权,完成或取消后释放;仅打开更新页面不会放行自动回调。其他通知和同步请求保持正常处理。
  • 发现缓存升级为 schema 4,记录各项能力的扫描完整性和失败信息;仅补扫未知能力,减少重复反射和结构扫描。
  • 优化 Zygisk 监控策略,对完整候选集合进行有界扫描,保留精确映射尺寸、九点指纹和 10 秒总截止。

修复

  • 修复结构扫描与观察回调并发时,新发现结果被旧快照覆盖、安装状态与缓存不一致的问题。
  • 修复类暂时不可读取时被长期缓存为缺失的问题;增加首次界面恢复及其一秒后的有界补扫,后续启动根据失败类恢复和 Dex 变化重新验证。
  • 修复歧义终态下观察 Hook 未释放的问题,完善注册回滚和在途回调处理;首次发现单个候选后继续观察其他候选。
  • 修复 native 候选消失、替换或集合变化时复用旧 20 ms 失配窗口的问题;跳过扫描的轮询不再被视为候选消失。

Assets

2

8/16/2026, 6:17:55 AM

请同时更新zygisk模块与lsp模块!!!

Full Changelog: RRRRUDDDD/FreeMOMO@v3.0...v3.1

新增与优化

  • 增加按目标应用版本校验的 Hook 发现缓存,减少已知结果的重复结构扫描。
  • 统一结构发现索引,复用类和方法描述,降低未知版本扫描开销。
  • 完善 Hook 安装状态管理、异常处理和失败恢复,保持失败关闭行为。
  • 优化 Zygisk SecNeo 指纹监视器的退避扫描策略,降低启动期间的无效 /proc/self/maps 读取。
  • 收紧 R8 保留规则并清理 Android 资源与 Gradle 配置告警。

修复

  • 修复将 customize.sh 保存为了 Windows 格式的换行符(CRLF / \r\n)的问题。
  • 修复目标应用每次启动重复显示“FreeMOMO 已找到 Hook 函数”的问题。已知版本现在仍会在每个新进程中重新安装必要 Hook,但同一目标 versionCode 只显示一次成功提示;目标版本更新后会再次提示。
  • 修复 Hook 缓存部分失效时整库重复扫描的问题,并保留 pending 单词候选的重试路径。

Assets

2