INNER CODE UNIT · Java
ApplicationLoaders
DroidPluginTeam/DroidPlugin · project/Libraries/DroidPlugin/src/main/java/com/morgoo/droidplugin/PluginHelper.java:112
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);
if (mPackages instanceof HashMap) {
HashMap oldValue = ((HashMap) mPackages);
if ("com.lbe.security.client.ClientContainer$MonitoredPackageMap".equals(mPackages.getClass().getName())) {