[玩转App之一]利用ROOT权限或Xposed随意对apk进行保资料降级
本帖最后由 陈司机 于 2021-1-11 16:17 编辑前提:
A.需要先弄好adb 环境
B.手机已root
**1. 先把要降级的apk push到手机**
```adb push c:\old.apk /sdcard/old.apk```
**2. 执行adb shell**
```adb shell```
**3.su 获取root 权限**
```su```
**4.查找原apk文件路径**
```ls /data/app```
比如我要降级微信,会找到以为微信包名com.tencent.mm开头的文件夹,复制这个文件夹,
我这里是com.tencent.mm-vC_Ju-mbrC9lmkGcdtinCw==
快速查看包名工具,安利下 -> (https://github.com/Enyby/APK-Info)
**5.强制覆盖原有apk文件**
```cat /sdcard/old.apk > /data/app/com.tencent.mm-vC_Ju-mbrC9lmkGcdtinCw==/base.apk```
**6.重启java虚拟机**
```killall zygote```
一般到这里就成功了,如果打不开app,手动再去找到要替换的old.apk再装一下,这个时候应该不会提示不允许降级安装或安装错误之类了,把一些so,odex缓存也刷新一下
再更新一下:
使用xposed插件hook系统使随意降级,注入android进程,核心代码如下(Kotlin),也是以X信举例:
```kotlin
// 原方法签名:private static void checkDowngrade(PackageParser.Package before, PackageInfoLite after)
hookAllMethods("com.android.server.pm.PackageManagerService.checkDowngrade") {
before { m ->
val before = m.args
val after = m.args
val packageName = after.get<String>("packageName")
if (packageName == "com.tencent.mm") {
after.set<Int>("versionCode", before.get<Int>("mVersionCode")!! + 1)
}
}
}
```
用xp核心破解不就能直接降级软件了吗{:1_904:}不过这样对不方便修改data分区的确实行 直接幸运破解器核心破解就行了呀,这个还挺麻烦的 好麻烦的说,既然有了root为什么不顺手再上xp/edxp然后用核心破解..... 青春莫相随 发表于 2021-1-9 17:03
主要是降级的APK不好找
豌豆荚那找就好了 谢谢分享 核心破解加钛备份也行,不过你这个可以更加锻炼动手能力! 都有ROOT了,刷个MAGISK模块更方便。或者核心破解XP模块。。 核心破,解好使 又学到一招,谢谢 核心破解直接装就行了。 主要是降级的APK不好找 都有root权限了,还不来个简单点的