首页
社区
课程
招聘
[原创]利用ROOT权限或Xposed随意对apk进行保资料降级
发表于: 2021-1-14 16:32 3937

[原创]利用ROOT权限或Xposed随意对apk进行保资料降级

2021-1-14 16:32
3937

前提:
A.需要先弄好adb 环境
B.手机已root

  1. 先把要降级的apk push到手机
1
adb push c:\old.apk /sdcard/old.apk
  1. 执行adb shell
1
adb shell

3.su 获取root 权限
su

 

4.查找原apk文件路径

1
ls /data/app

比如我要降级微信,会找到以为微信包名com.tencent.mm开头的文件夹,复制这个文件夹,
我这里是com.tencent.mm-vC_Ju-mbrC9lmkGcdtinCw==
快速查看包名工具,安利下 -> APK-info

 

5.强制覆盖原有apk文件

1
cat /sdcard/old.apk > /data/app/com.tencent.mm-vC_Ju-mbrC9lmkGcdtinCw==/base.apk

6.重启java虚拟机

1
killall zygote

一般到这里就成功了,如果打不开app,手动再去找到要替换的old.apk再装一下,这个时候应该不会提示不允许降级安装或安装错误之类了,把一些so,odex缓存也刷新一下

 

再更新一下:
使用xposed插件hook系统使随意降级,注入android进程,核心代码如下(Kotlin),也是以X信举例:

1
2
3
4
5
6
7
8
9
10
11
// 原方法签名:private static void checkDowngrade(PackageParser.Package before, PackageInfoLite after)
        hookAllMethods("com.android.server.pm.PackageManagerService.checkDowngrade") {
            before { m ->
                val before = m.args[0]
                val after = m.args[1]
                val packageName = after.get<String>("packageName")
                if (packageName == "com.tencent.mm") {
                    after.set<Int>("versionCode", before.get<Int>("mVersionCode")!! + 1)
                }
            }
        }

checkDowngrade源代码


[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 2
支持
分享
最新回复 (3)
雪    币: 15
活跃值: (55)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
MARK   以前直接安装的核心破解模块
2021-1-18 12:06
0
雪    币: 268
活跃值: (3238)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
3
问个问题,能不能签名不一样,覆盖安装不删除资料
2021-1-19 16:27
0
雪    币: 268
活跃值: (3238)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
意思就是我做个假weixin,,只是签名不一样
2021-1-19 16:27
0
游客
登录 | 注册 方可回帖
返回
//