Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@LeadroyaL
Created May 10, 2020 13:25
Show Gist options
  • Star 6 You must be signed in to star a gist
  • Fork 4 You must be signed in to fork a gist
  • Save LeadroyaL/98d35f526c44d86b379a7099f6f823e6 to your computer and use it in GitHub Desktop.
Save LeadroyaL/98d35f526c44d86b379a7099f6f823e6 to your computer and use it in GitHub Desktop.
使用xposed跳过小米USB安装应用确认

使用xposed跳过小米USB安装应用确认

QQ20200510-194855@2x

package com.leadroyal.miuiusb;
import java.lang.reflect.Field;
import java.lang.reflect.Method;
import de.robv.android.xposed.IXposedHookLoadPackage;
import de.robv.android.xposed.XC_MethodHook;
import de.robv.android.xposed.XposedBridge;
import de.robv.android.xposed.XposedHelpers;
import de.robv.android.xposed.callbacks.XC_LoadPackage;
public class Entry implements IXposedHookLoadPackage {
@Override
public void handleLoadPackage(XC_LoadPackage.LoadPackageParam lpparam) throws Throwable {
if (lpparam.packageName.equals("com.miui.securitycenter")) {
XposedBridge.log("Patch miui usb alert START");
Class adbInstallActivity = XposedHelpers.findClass("com.miui.permcenter.install.AdbInstallActivity", lpparam.classLoader);
Method isEnabledMethod = null;
for (Field f : adbInstallActivity.getDeclaredFields()) {
Class<?> fieldClz = f.getType();
try {
if (fieldClz != null && fieldClz.getDeclaredMethod("isEnabled") != null) {
isEnabledMethod = fieldClz.getDeclaredMethod("isEnabled");
break;
}
} catch (NoSuchMethodException e) {
e.printStackTrace();
}
}
if (isEnabledMethod == null) {
XposedBridge.log("cannot find isEnabled");
} else {
XposedBridge.log("find isEnabled and hook it");
XposedBridge.hookMethod(isEnabledMethod, new XC_MethodHook() {
@Override
protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
super.beforeHookedMethod(param);
param.setResult(false);
}
});
}
XposedBridge.log("Patch miui usb alert END");
}
}
}
@2Y2s1mple
Copy link

瞎看的时候碰到了

XposedHelpers.findAndHookMethod("com.android.commands.pm.PmInjector", classLoader, "installVerify", "java.lang.String", new XC_MethodHook() {
    @Override
    protected void beforeHookedMethod(MethodHookParam param) throws Throwable {
        param.setResult(2);
    }
}

@LeadroyaL
Copy link
Author

root edit:

/data/data/com.miui.securitycenter/shared_prefs/remote_provider_preferences.xml

Append or edit shared preference

<boolean name="permcenter_install_intercept_enabled" value="false" />

@hhhaiai
Copy link

hhhaiai commented Sep 30, 2022

6666

@hhhaiai
Copy link

hhhaiai commented Sep 30, 2022

不root的设备,有木有其他办法处理啊

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment