百度输入法OPPO定制版增强

这是一个面向com.baidu.input_oppo的LSPosed/Xposed模块,用于恢复和扩展百度输入法OPPO定制版中的剪贴板、快捷短语和复制文本行为。

重要说明:本仓库不是原始源码。

原项目的原始源码已经丢失。本次公开的工程,是根据宿主输入法安装包进行静态逆向分析、DEX/资源调用关系重建、DexKit特征迁移和功能回归后恢复出来的工程。当前仓库中的代码、重构逻辑、兼容层和构建脚本均由AI完成,不是丢失前的原作者源码,也不应被描述为原始源代码的恢复副本。

本次恢复版内容

  • 升级到DexKit2.2.0,并完成新API迁移。
  • 使用DexKit行为特征、资源特征和调用关系定位宿主方法,不把当前混淆类名作为跨版本契约。
  • 保留剪贴板计数与剪贴板历史相关Hook。
  • 解除复制文本约7000字符的截断限制,使复制阶段保留原始文本。
  • 解除快捷短语新增数量限制。输入法顶部快捷短语加号在数量超过100条时仍走宿主原有的悬浮添加流程,不再被强制送入快捷短语管理Activity。
  • 解除快捷短语确认时的300字限制,同时保留宿主保存、刷新和文件写入流程。
  • 修复历史快捷短语编辑目标解析,编辑非零索引条目时更新原条目,不覆盖最近新增的序号0条目。
  • 支持不同宿主版本的三参数、四参数导航方法,以及直接列表和HashMap内列表两种数量数据结构。

搜索按钮Hook的移除

旧版本曾包含键盘工具栏搜索按钮屏蔽Hook。本次已经从入口、调用链、实现和DexKit查询中完整移除,不是简单停用。

移除原因:新版本输入法已经将相关能力调整为AI相关功能,并且宿主自身已经允许用户调整搜索按钮是否显示。继续在模块中强行阉割搜索按钮会改变用户对宿主功能的自主设置,因此本恢复版不再拦截或隐藏该按钮。

构建环境

  • Android Gradle Plugin:9.3.1
  • Gradle Wrapper:9.7.0
  • compileSdk:37
  • targetSdk:33
  • minSdk:23
  • DexKit:2.2.0
  • AndroidX Core KTX:1.19.0
  • AppCompat:1.8.0
  • Material:1.14.0
  • ConstraintLayout:2.2.2

构建

工程使用公开构建配置。仓库不包含私有签名密钥;本地构建时未提供签名配置会生成未签名Release APK。若需要自行签名,按Android标准流程签名即可。

./gradlew :app:assembleRelease

ARM64环境如果需要显式指定兼容compileSdk 37aapt2

AAPT2_OVERRIDE=/path/to/aapt2 ./tools/build-release.sh

若要使用自己的签名文件,可以通过环境变量提供,不要把密码或密钥提交到仓库:

SIGNING_STORE_PASSWORD='...' \
SIGNING_KEY_ALIAS='...' \
SIGNING_KEY_PASSWORD='...' \
./gradlew :app:assembleRelease

安装包

可直接使用GitHub Releases中的APK资产:

  • BaiduInputOppoEnhance-universal-dexkit-release.apk

安装前请确认设备已安装并启用LSPosed/Xposed框架,并将本模块作用域设为百度输入法OPPO定制版。Release中的APK为发布构建产物;源码仓库不提交私有签名密钥。

验证范围

本工程包含以下验证脚本和证据目录:

python3 tools/verify-upgrade.py

验证内容包括DexKit查询迁移、旧搜索Hook清理、资源与DEX结构、Xposed入口、构建结果和发布产物静态条件。实际宿主行为还需要在目标设备上按Release说明中的场景回归。

致谢

维护边界

由于本工程是根据安装包逆向恢复并由AI重新编写的代码,宿主升级后仍可能出现新的混淆、调用图或资源布局差异。遇到兼容问题时,应优先提交:宿主版本号、DexKit候选日志、相关Hook日志和可复现步骤;不要将当前工程视为百度输入法的原始源码或官方实现。

项目地址

https://github.com/Sharl210/fuckinginput.coloros.baidu

Releases

v3.0

Stable

8/19/2026, 3:43:44 PM

v3.0

本版内容

  • 升级并使用 DexKit 2.2.0 进行语义特征定位和跨版本 Hook。
  • 快捷短语入口采用跨版本结构匹配,不依赖单一宿主混淆类名、资源 ID 或固定导航参数。
  • 解除复制文本超过 7000 字时的截断限制。
  • 解除剪贴板历史显示阶段超过 14000 字记录的过滤限制。
  • 保留快捷短语新增、编辑、保存和刷新链路。
  • 保留 300 字保存链路。
  • 旧搜索按钮屏蔽 Hook 已移除。

验证结果

  • Clean Release 构建:通过
  • R8:通过
  • Lint:通过
  • DEX 静态审计:通过
  • APK 签名:v1/v2/v3 均通过
  • 真实宿主动态验证:
    • 复制长度 86216 字时成功绕过 7000 字截断;
    • 剪贴板历史列表 373、374 条记录均未被显示过滤链移除。

APK

本版本按原样重新发布已验证 APK,不修改 APK 内部版本信息。

文件名:BaiduInputOppoEnhance-4-3.0-release.apk

SHA-256:d9b0f8171064843612dbf2344ea73a9d0e69bf2caa894c789e322e94654582fd

Assets

1

8/15/2026, 8:47:27 PM

Release v2.1.0 — AI恢复重构版

发布说明

这是丢失原始源码后的恢复重构版本。原项目源码已经丢失,本次工程不是原始源代码,也不是从原源码编译出的版本;代码是根据百度输入法OPPO定制版安装包进行静态逆向分析、DEX/资源调用关系重建、DexKit迁移和行为回归后,由AI重新编写完成的恢复工程。

因此,本Release中的源码应理解为“基于安装包行为恢复的AI重构实现”,不应当作为原始源码的证明。

本次新增与修复

  • 升级DexKit至2.2.0并完成新API迁移。
  • 解除复制文本约7000字符的截断限制。
  • 解除快捷短语100条新增限制。
  • 修复输入法顶部快捷短语加号在数量超限时跳转管理Activity的问题,恢复宿主原有的悬浮添加流程。
  • 解除快捷短语确认阶段的300字限制。
  • 修复编辑历史快捷短语时的目标索引错误,避免编辑序号3覆盖最近新增的序号0。
  • 保留剪贴板计数和剪贴板历史行为。
  • 适配不同宿主版本的DexKit结构特征、三参数/四参数导航方法以及不同集合布局。

旧搜索按钮Hook移除

旧版本中的键盘工具栏搜索按钮屏蔽Hook已经完整移除,包括入口、实现、调用链和DexKit查询,不是仅在运行时关闭。

移除原因是新版本输入法已经转向AI相关能力,并且宿主自身允许用户调整搜索按钮是否显示。模块不再强行阉割用户可以自行控制的功能。

APK资产

资产:BaiduInputOppoEnhance-universal-dexkit-release.apk

SHA-256:

2f11f564607d323197054ae57984c0fcdfc1421107c17583d6d40b8dc3c5c6c8

构建产物已经完成Release构建、R8、Lint、DEX/资源静态审计及v1/v2/v3签名验证。

使用范围

  1. 安装APK并在LSPosed/Xposed中启用模块。
  2. 将百度输入法OPPO定制版加入模块作用域。
  3. 重启输入法进程后测试剪贴板、复制文本和快捷短语功能。
  4. 重点验证输入法顶部快捷短语加号、管理页新增、历史编辑和300字内容保存。

已知边界

动态行为仍然取决于宿主版本、设备和输入法进程状态。当前工程通过DexKit结构特征降低版本耦合,但它不是百度输入法官方源码,也不保证未来宿主版本完全兼容。