Repository navigation
Releases
Releases · TYOPXN360/FingerprintPayXposed
v8.5.3
FingerprintPayXposed v8.5.3
⚠️ 非官方分支: 代码由 AI 辅助生成,非原作者官方版本。使用风险自负。
🐛 修复:指纹验证成功后密码偶尔无法解密(概率性失败)
- 根因:Keystore 的 GCM Cipher 与指纹认证绑定,认证状态异常时(如指纹首次按错再按对、系统返回的 CryptoObject 状态失效)
doFinal会因 Keystore 操作已失效抛出IllegalBlockSizeException,导致指纹验证成功但密码解密失败(概率性)。 - 修复:加解密失败时自动重新创建 Cipher 并重新发起指纹认证(最多 2 次重试),无需用户手动息屏重开或重新支付。
- 增加详细错误日志(异常 cause 与重试次数)便于后续排查。
🐛 修复:微信指纹支付流程问题(v8.5.2 起)
- 验证成功不自动输入密码:BiometricPrompt 弹出导致支付 Activity onPause 时,不再无条件取消指纹认证,验证成功后密码可正常自动输入。
- 关闭指纹验证框后键盘不弹出:取消指纹认证时恢复键盘容器/密码布局的可见性,键盘可正常弹出用于手动输入。
- 切换支付方式后再次验证不输密码:新增键盘 attach/detach 生命周期监听,切换支付方式后键盘重新显示时自动重新触发指纹检测。
- 验证成功/取消后重复弹出指纹框:增加防重入与 3 秒静默窗口,避免 BiometricPrompt 关闭触发 onResume 后重复弹窗。
- 兼容新旧版微信支付键盘:
MyKeyboardWindow及 8.0.7x 新增的HkWxKeyboardWindow/MiniAppKeyboardWindow均已适配。
📦 构建信息
- 版本:8.5.3(versionCode 46)
- 签名:
wifikeyxposed.keystore(APK Signature Scheme v2) - 启用 R8 混淆
⚠️ 注意
- 模块更新后需重启微信生效(不支持热重载)
- 使用本模块导致的微信/支付宝风控、封号等问题,概不负责
v8.5.1
FingerprintPayXposed v8.5.1
⚠️ 非官方分支: 代码由 AI 辅助生成,非原作者官方版本。使用风险自负。
适用设备
- Android 12+(API 31+)
- 需要 LSPosed 框架(LibXposed API 101)
- 支持微信、支付宝指纹支付
作用域设置
- 微信:
com.tencent.mm - 支付宝:
com.eg.android.AlipayGphone
更新内容
- 升级 Android Gradle Plugin
8.10.1、Kotlin1.9.25、Java 17 toolchain - 更新 Gson
2.11.0、OkHttp4.12.0、RemotePreferences0.8、AndroidX / Compose BOM2024.12.01 - 移除
READ_PHONE_STATE、WRITE_EXTERNAL_STORAGE权限 - 新增
dataExtractionRules排除云备份和设备迁移 - 显式锁定
buildToolsVersion 36.0.0,修正interpolator版本 - 构建链统一为 Java 17 toolchain(versionCode 44)
签名
- 使用
wifikeyxposed.keystoreAPK Signature Scheme v2 签名 - 由 AI(Claude Code / Claude Sonnet 5)辅助创建
热重载 / LibXposed API
- 不支持热重载,变更后需重启目标应用
- LibXposed API 101.0.1
v8.5.0
v8.5.0
⚠️ 非官方分支: 本版本代码由 AI (DeepSeek V4 Flash) 辅助生成,已经过初步确认功能可用性。
🆕 微信指纹支付(初步确认可用)
- 进入方式:在微信设置页面长按任意设置项即可弹出指纹支付设置对话框
- 支持 BiometricPrompt 平台 API 进行指纹认证
- 认证成功后自动模拟点击数字键盘输入密码
- 密码使用 AES/GCM + AndroidKeyStore 加密存储
📋 自 v8.0.1 以来的变更
修复
- 修复支付宝
KeyPermanentlyInvalidatedException:指纹录入变更时密钥失效,自动删除并重新生成 - 修复支付宝
UnrecoverableKeyException:不可恢复密钥异常处理 - 修复设置对话框
ClassCastException:DecorView 强转 LinearLayout 异常 - 修复
initFingerPrintLock中 Context 不是 Activity 的问题(影响指纹认证弹窗)
新增
- 新增 PullDownListView.onItemLongClick Hook(长按设置入口)
- 新增 MyKeyboardWindow.setInputEditText Hook(支付键盘检测)
- 新增 AlertDialogImpl.showTipsImpl Hook(系统错误弹窗拦截)
- 新增指纹密钥失效时的用户友好提示(支持中英文)
重构
- 移除旧版设置注入方式(ListView HeaderView / 右上角菜单)
- 移除未使用的旧版代码文件
- 更新 LibXposed API 到 101.0.1
Full Changelog: v8.0.1...v8.5.0
v8.0.1
v8.0.0
v8.0.0 · BiometricPrompt重构 + 支付宝极速付款修复
🚀 重大变更
- 移除第三方指纹库
FingerprintIdentify,改用 Android 平台BiometricPrompt(android.hardware.biometrics) - 移除 Magisk/Riru/Zygisk 模块支持,仅支持 LSPosed(Xposed API 101)
- 最低API提升至 31(Android 12),不再兼容旧版
- 默认
useBiometricApi为 true,移除设置页中相关开关选项
🔧 Bug修复
- 修复数字键盘按键映射错位(
au_num_1→"2"按钮的索引 off-by-one bug),支付密码现在正确输入 - 修复极速付款模式无键盘时无法触发指纹:添加
inputDigitPassword重试机制,键盘未就绪时 300ms 后重试(最多 20 次) - 修复 EditText 0x0 不可见时
setText()无效:改用MotionEvent.dispatchTouchEvent模拟真实坐标触摸 - 移除半屏付款给xx页面提前弹出指纹弹窗的误触发
- 修复 Release Published CI 的 R8 OOM(4GB heap +
android.enableR8.fullMode=false) - 修复确认按钮
button_ok的isShown()检测导致无法点击的问题
⚡ 性能优化
- APK 体积从 40MB 缩减至 3.0MB(R8 full mode + 资源压缩,ProGuard 规则全覆盖)
- R8 混淆 + 资源压缩开启
- 移除日志中的密码泄露风险(不记录密码文本/长度/点击按键)
🧪 测试功能(v8.0.0 已移除)
- 设置页曾添加的「指纹解密测试」按钮已移除
- 曾添加的键盘扫描调试日志已移除
📦 构建 & CI
- Android CI 每次 push 自动构建 R8 混淆版
- Release Published CI 自动上传 APK 到 release
- 修复 Aliyun Maven 镜像 502 错误导致的构建失败
📝 其他
- 适配支付宝 10.8.66.8000 极速付款模式
- 去除无用日志输出
⚠️ 注意
- 不再支持 Magisk / Riru / Zygisk 模块,仅 LSPosed 框架
- 不支持 Android 12 以下版本
- 之前版本(≤v7.5.1)使用旧
FingerprintIdentify加密存储的密码不兼容,需要在 v8.0.0 中重新录入支付密码 - 代码由 DeepSeek V4 Flash 修改