首页
论坛
专栏
课程

[原创]小米手机破解USB安装账号SIM卡限制和ROOT授权25等待时间(需要Xposed)

2019-8-6 16:50 1307

[原创]小米手机破解USB安装账号SIM卡限制和ROOT授权25等待时间(需要Xposed)

2019-8-6 16:50
1307

小米手机对开发者太不友好了 USB安装必须要小米账号和装SIM卡 ROOT授权也得等25秒恶心
在有Xposed框架的情况下我怎么能忍
具体分析细节就不过多描述 太简单懒得写了 直接贴代码

ROOT授权

想给那个APP授权就往数组里加包名就行

   if (!lpparam.packageName.equals("com.miui.securitycenter"))//
        {
            return;
        }

    private void  RootApp(XC_LoadPackage.LoadPackageParam loader){
        Log.v(TAG, "RootApp 已启动");

            String[] pack={"com.speedsoftware.rootexplorer"}; //RE管理器包名
            Object model = newInstance(findClass("com.miui.permission.g",loader.classLoader),applicationContext);
            callMethod(model, "a", 512,3,pack); // 3授权ROOT 1撤销ROOT




    }

USB安装

在这里插入图片描述

    if (!lpparam.packageName.equals("com.android.settings"))//
        {
            return;
        }
     findAndHookMethod("com.android.a.a", lpparam.classLoader,"b",
                Context.class, new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        super.beforeHookedMethod(param);
                        param.setResult(true);  // 
                    }

                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                super.afterHookedMethod(param);
                Log.v(TAG, "security_adb_install_enable " +
                        param.getResult());
            }
        });

安全中心版本2.5.5 设置6.0.1 如果这两个系统应用版本变了的话 就不保证能好使了 可以自行适配或者和我说



[公告]安全服务和外包项目请将项目需求发到看雪企服平台:https://qifu.kanxue.com

最新回复 (7)
duoduo231 2019-8-6 17:33
2
0
MIUI这个安装问题真的是恶心到爆。。。。
我是一只马鹿 2019-8-6 17:48
3
0
usb安装这个,直接用root权限改settings数据库可行吗?
miyuecao 2019-8-8 09:51
4
0
很实用,感谢分享,确实被这个问题困扰过
winkar 2019-8-9 10:48
5
0
我有个问题……我是MIUI10.1(不知道哪里看settings的版本),hook了相应的函数之后,设置里的“usb安装”选项确实显示打开了,但实际usb install的时候仍然无法成功。楼主碰到过这样的情况吗?
世界美景 1 2019-8-9 14:27
6
0
    findAndHookMethod("com.android.a.a", lpparam.classLoader,"a",
                Context.class,boolean.class, new XC_MethodHook() {
                    @Override
                    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
                        super.beforeHookedMethod(param);
                        param.setResult(true);
                        param.args[1]=true;
                    }

                    protected void afterHookedMethod(MethodHookParam param) throws Throwable {
                        super.afterHookedMethod(param);
                        Log.v(TAG, "security_adb_install_enable SET " +param.args[1]+"|"+
                                param.getResult());
                    }
                });
加上这个试试看 由于我现在的测试机ROM被改过 可以直接adb安装 所以无法判断 
最后于 2019-8-9 14:29 被世界美景编辑 ,原因:
winkar 2019-8-9 15:29
7
0
世界美景     findAndHookMethod("com.android.a.a", lppa ...
我自己也直接刷了开发版,所以判断不了这个方案是不是可行。
不过就我逆向过来看,settings里只是调用逻辑来确定怎么显示,实际的校验在security center里面。adb install的时候需要hook的判断逻辑应该也在security center里面。
netsniffer 2019-8-10 21:07
8
0
增加账号验证可以避免渠道商刷机,这些都是利益驱使,很多小厂也会加些手段。
游客
登录 | 注册 方可回帖
返回