|
|
发表于
2026-5-17 00:22:19
|
显示全部楼层
来自 浙江
华为这种检测分两层 别只盯着hms客户端
第一层 hms-core 强制升级
这就是你说的"旧版用不了" 它会校验hms-core版本号 低于某值就让你升
- 绕法:
- 1. dex搜 minHmsVersion / minVersion / forceUpgrade 这种字段
- 找到比对逻辑 改成 const/4 v0, 0x1 永远说够新
- 2. 或者直接把目标游戏里的 com.huawei.hms.update 那个UpgradeActivity 删了
- 3. AndroidManifest 里有 com.huawei.hms.client.appid 可以保留
- 但 com.huawei.hms.api.HuaweiApiAvailability 检测要绕
复制代码
第二层 包体被改了 → AppGallery服务端会拉黑
华为游戏跑起来要请求 hms account / agc 校验 这个返回里包含你包的签名hash
服务端比对你装的包sig和上架版本不一样 → 直接拒服务
这才是大头
- 看你截图描述应该是这个
- 核心: 让客户端 PackageManager.getPackageInfo 拿到的签名永远是原签名hash
- hook两个地方:
- 1. android.app.ApplicationPackageManager.getPackageInfo
- 返回值里的 signatures[] / signingInfo 改回原始值
- 2. HuaweiApiAvailability.isHuaweiMobileServicesAvailable
- 直接return 0
复制代码
现成轮子:
- LSPosed 模块: CorePatch (重签兼容) + 配上 Hms-Bypass 这类
- 或者用 algoassist (算法助手) 自己抓签名校验现场
复制代码
最快的办法
搜 "华为账号修复" "HMS解锁" 这种关键词 GitHub有人专门维护 magisk模块/lsposed模块
比你自己改dex快多了 强制升级版本号也是从模块层面拦的 不会失效 |
|