INNER CODE UNIT · Java
fixMiUiLbeSecurity
DroidPluginTeam/DroidPlugin · project/Libraries/DroidPlugin/src/main/java/com/morgoo/droidplugin/PluginHelper.java:109
private void fixMiUiLbeSecurity() throws ClassNotFoundException, NoSuchFieldException, NoSuchMethodException, InvocationTargetException, IllegalAccessException {
//卸载掉LBE安全的ApplicationLoaders.mLoaders钩子
Class ApplicationLoaders = Class.forName("android.app.ApplicationLoaders");
Object applicationLoaders = MethodUtils.invokeStaticMethod(ApplicationLoaders, "getDefault");
Object mLoaders = FieldUtils.readField(applicationLoaders, "mLoaders", true);
if (mLoaders instanceof HashMap) {
HashMap oldValue = ((HashMap) mLoaders);
if ("com.lbe.security.client.ClientContainer$MonitoredLoaderMap".equals(mLoaders.getClass().getName())) {
HashMap value = new HashMap();
value.putAll(oldValue);
FieldUtils.writeField(applicationLoaders, "mLoaders", value, true);
}
}
//卸载掉LBE安全的ActivityThread.mPackages钩子
Object currentActivityThread = ActivityThreadCompat.currentActivityThread();
Object mPackages = FieldUtils.readField(currentActivityThread, "mPackages", true);