Info Call to dynamic code loading API

Description

List of all dynamic code loading API calls in the application. Loading code from untrsuted sources could allow the execution of malicious code in the context of the current application.

Recommendation

This entry is informative, no recommendations applicable.

Technical details

Method com.google.android.gms.internal.zzal.zzl() calling method dalvik.system.DexClassLoader.<init>()


    private static void zzl(android.content.Context p20)
    {
        try {
            java.io.File v1_17 = com.google.android.gms.internal.zzal.zznl.zzl(com.google.android.gms.internal.zzat.getKey());
            String v2_51 = com.google.android.gms.internal.zzal.zznl.zzc(v1_17, com.google.android.gms.internal.zzat.zzad());
            java.io.File v3_1 = p20.getCacheDir();
        } catch (Throwable v0_6) {
            throw new com.google.android.gms.internal.zzal$zza(v0_6);
        } catch (Throwable v0_5) {
            throw new com.google.android.gms.internal.zzal$zza(v0_5);
        } catch (Throwable v0_4) {
            throw new com.google.android.gms.internal.zzal$zza(v0_4);
        } catch (Throwable v0_3) {
            throw new com.google.android.gms.internal.zzal$zza(v0_3);
        } catch (Throwable v0_2) {
            throw new com.google.android.gms.internal.zzal$zza(v0_2);
        } catch (Throwable v0_1) {
            throw new com.google.android.gms.internal.zzal$zza(v0_1);
        }
        if (v3_1 != null) {
        } else {
            v3_1 = p20.getDir("dex", 0);
            if (v3_1 == null) {
                throw new com.google.android.gms.internal.zzal$zza();
            }
        }
        int v6_13 = java.io.File.createTempFile("ads", ".jar", v3_1);
        int v7_10 = new java.io.FileOutputStream(v6_13);
        v7_10.write(v2_51, 0, v2_51.length);
        v7_10.close();
        String v2_49 = new dalvik.system.DexClassLoader(v6_13.getAbsolutePath(), v3_1.getAbsolutePath(), 0, p20.getClassLoader());
        java.io.File v5_18 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzam()));
        int v7_14 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaA()));
        Class v8_4 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzau()));
        Class v9_3 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaq()));
        Class v10_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaC()));
        Class v11_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzao()));
        Class v12_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzay()));
        Class v13_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaw()));
        Class v14_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzak()));
        Class v15_2 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzai()));
        String v4_1 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzag()));
        java.io.File v16 = v3_1;
        java.io.File v17 = v6_13;
        Class v18 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzae()));
        java.io.File v19 = v2_49.loadClass(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzas()));
        java.io.File v3_4 = new Class[0];
        com.google.android.gms.internal.zzal.zzmV = v5_18.getMethod(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzan()), v3_4);
        java.io.File v5_0 = new Class[0];
        com.google.android.gms.internal.zzal.zzmW = v7_14.getMethod(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaB()), v5_0);
        java.io.File v5_1 = new Class[0];
        com.google.android.gms.internal.zzal.zzmX = v8_4.getMethod(com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzav()), v5_1);
        String v2_4 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzar());
        java.io.File v5_2 = new Class[1];
        v5_2[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zzmY = v9_3.getMethod(v2_4, v5_2);
        String v2_7 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaD());
        java.io.File v5_5 = new Class[2];
        v5_5[0] = android.view.MotionEvent;
        v5_5[1] = android.util.DisplayMetrics;
        com.google.android.gms.internal.zzal.zzmZ = v10_2.getMethod(v2_7, v5_5);
        String v2_10 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzap());
        java.io.File v5_6 = new Class[1];
        v5_6[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zzna = v11_2.getMethod(v2_10, v5_6);
        String v2_13 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaz());
        java.io.File v5_7 = new Class[1];
        v5_7[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zznb = v12_2.getMethod(v2_13, v5_7);
        String v2_17 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzax());
        java.io.File v5_8 = new Class[1];
        v5_8[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zznc = v13_2.getMethod(v2_17, v5_8);
        String v2_20 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzal());
        java.io.File v5_9 = new Class[1];
        v5_9[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zznd = v14_2.getMethod(v2_20, v5_9);
        String v2_23 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaj());
        java.io.File v5_10 = new Class[1];
        v5_10[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zzne = v15_2.getMethod(v2_23, v5_10);
        String v2_26 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzah());
        java.io.File v5_11 = new Class[1];
        v5_11[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zznf = v4_1.getMethod(v2_26, v5_11);
        String v2_29 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzat());
        String v4_3 = new Class[1];
        v4_3[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zzng = v19.getMethod(v2_29, v4_3);
        java.io.File v1_2 = com.google.android.gms.internal.zzal.zzb(v1_17, com.google.android.gms.internal.zzat.zzaf());
        String v2_32 = new Class[1];
        v2_32[0] = android.content.Context;
        com.google.android.gms.internal.zzal.zznh = v18.getMethod(v1_2, v2_32);
        java.io.File v1_4 = v17;
        String v2_34 = v1_4.getName();
        v1_4.delete();
        new java.io.File(v16, v2_34.replace(".jar", ".dex")).delete();
        return;
    }