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.netease.nis.wrapper.MyJni.b() calling method java.lang.System.load()


    public static boolean b(android.content.Context p4)
    {
        int v0 = 0;
        try {
            if ((com.netease.nis.wrapper.MyJni.a()) && (!com.netease.nis.wrapper.MyJni.a(p4.getApplicationInfo().sourceDir, a.auu.a.c("IgwWShlLU2EJHQcPFhYrBloWDg==")))) {
                String v1_2 = p4.getFilesDir().getAbsolutePath();
                if (com.netease.nis.wrapper.MyJni.a(p4, a.auu.a.c("IgwWCwQAAC1LBwo="), v1_2, a.auu.a.c("IgwWCwQAAC1LBwo="))) {
                    String v1_6 = new StringBuilder().append(v1_2).append(a.auu.a.c("YQkdBw8WFisGWhYO")).toString();
                    if (new java.io.File(v1_6).exists()) {
                        System.load(v1_6);
                        v0 = 1;
                    }
                }
            }
        } catch (String v1_7) {
            new StringBuilder(a.auu.a.c("IgoVAUEfDCwLERYEEEs9ClQDABoJKwFO")).append(v1_7.getMessage());
        }
        return v0;
    }

Method com.netease.nis.wrapper.l.a() calling method java.lang.System.load()


    public static void a(android.content.Context p2, String p3)
    {
        if (p2 != null) {
            if (!android.text.TextUtils.isEmpty(p3)) {
                try {
                    System.loadLibrary(p3);
                } catch (Exception v0) {
                    Exception v0_7 = ark>com.netease.nis.wrapper.lark>.b(p2, p3);
                    if (!v0_7.exists()) {
                        ark>com.netease.nis.wrapper.lark>.c(p2, p3);
                    }
                    try {
                        System.load(v0_7.getAbsolutePath());
                    } catch (java.io.File v1) {
                        try {
                            java.io.File v1_2 = new java.io.File(v0_7.getParent());
                        } catch (Exception v0) {
                            return;
                        }
                        if (ark>com.netease.nis.wrapper.lark>.b()) {
                            try {
                                ark>com.netease.nis.wrapper.lark>.b(p2, v1_2);
                            } catch (Exception v0) {
                            }
                        }
                        System.loadLibrary(p3);
                    }
                }
                return;
            } else {
                throw new IllegalArgumentException(a.auu.a.c("CQwCAA9TCScHBgQTCkUnFlQACAcNKxdUCxQfCW4KBkUEHhU6HA=="));
            }
        } else {
            throw new IllegalArgumentException(a.auu.a.c("CQwCAA9TBiELAAAZB0UnFlQLFB8J"));
        }
    }

Method com.netease.nis.wrapper.plugin.a.b() calling method java.lang.System.loadLibrary()


    private static void b(android.content.Context p4, String p5)
    {
        if (p4 == null) {
            System.loadLibrary(p5);
        } else {
            try {
                Exception v0_2 = a.auu.a.c("LQoZSw8WESsEBwBPHQw9SwMXAAMVKxdaEBIWF2A3ESkIHQ4rFw==");
                reflect.Method v1_2 = new Class[2];
                v1_2[0] = android.content.Context;
                v1_2[1] = String;
                Object[] v2_1 = a.auu.a.c("IgoVAS0aBzwEBhw=");
                Exception v0_1 = Class.forName(v0_2);
                reflect.Method v1_0 = v0_1.getMethod(v2_1, v1_2);
                Object[] v2_3 = new Object[2];
                v2_3[0] = p4;
                v2_3[1] = p5;
                v1_0.invoke(v0_1, v2_3);
            } catch (Exception v0) {
            }
        }
        return;
    }

Method com.netease.nis.wrapper.MyApplication.attachBaseContext() calling method java.lang.System.loadLibrary()


    protected void attachBaseContext(android.content.Context p13)
    {
        super.attachBaseContext(p13);
        Class v1_13 = Long.valueOf(System.currentTimeMillis());
        try {
            if (com.netease.nis.wrapper.MyApplication.c != null) {
                if (com.netease.nis.wrapper.MyApplication.b == null) {
                    com.netease.nis.wrapper.MyApplication.b = this;
                }
                com.netease.nis.wrapper.MyJni.cp();
            } else {
                Object[] v3_8 = new java.io.FileOutputStream(new java.io.File(new StringBuilder().append(p13.getFilesDir().getAbsolutePath()).append(a.auu.a.c("YRYRBk8fBiU=")).toString()));
                reflect.Method v2_20 = v3_8.getChannel();
                int v4_4 = v2_20.lock();
                Exception v0_20 = com.netease.nis.wrapper.MyJni.b(p13);
                if (com.netease.nis.wrapper.MyJni.a(p13)) {
                    StringBuilder v5_3 = com.netease.nis.wrapper.MyApplication.getVersion();
                    try {
                        String v6_4 = Class.forName(a.auu.a.c("LQoZSw8WESsEBwBPHQw9SwMXAAMVKxdaEBIWF2AwBwATIBE8BAAABgo="));
                        Object v7_1 = new Class[1];
                        v7_1[0] = android.content.Context;
                        Object v7_2 = v6_4.getConstructor(v7_1);
                        Object[] v8_2 = new Object[1];
                        v8_2[0] = p13;
                        Object v7_3 = v7_2.newInstance(v8_2);
                        Object[] v8_4 = a.auu.a.c("PQAAMBIWFxoEEw==");
                        int v9_3 = new Class[1];
                        v9_3[0] = String;
                        String v6_5 = v6_4.getMethod(v8_4, v9_3);
                        Object[] v8_6 = new Object[1];
                        v8_6[0] = v5_3;
                        v6_5.invoke(v7_3, v8_6);
                        StringBuilder v5_6 = Class.forName(a.auu.a.c("LQoZSw8WESsEBwBPHQw9SwMXAAMVKxdaJhMSFiYtFQsFHwA8"));
                        String v6_7 = a.auu.a.c("JwsdEQ==");
                        Object[] v8_8 = new Class[2];
                        v8_8[0] = android.content.Context;
                        v8_8[1] = v7_3.getClass();
                        String v6_8 = v5_6.getMethod(v6_7, v8_8);
                        Object[] v8_10 = new Object[2];
                        v8_10[0] = p13;
                        v8_10[1] = v7_3;
                        v6_8.invoke(v5_6, v8_10);
                    } catch (StringBuilder v5) {
                    }
                }
                if (v0_20 == null) {
                    try {
                        com.netease.nis.wrapper.l.a(p13, a.auu.a.c("IAAHAAI="));
                    } catch (Exception v0_2) {
                        new StringBuilder(a.auu.a.c("FQQAEQAQDQwEBwAiHAs6AAwRPFMJIQQQFg5TADYGERUVGgogSQ==")).append(v0_2.toString());
                        System.loadLibrary(a.auu.a.c("IAAHAAI="));
                    }
                }
                v4_4.release();
                v2_20.close();
                v3_8.close();
                com.netease.nis.wrapper.MyJni.load(this, p13.getPackageName());
                new StringBuilder(a.auu.a.c("FQkbBAUuRToMGQBb")).append(String.valueOf((System.currentTimeMillis() - v1_13.longValue())));
                new com.netease.nis.wrapper.plugin.e();
                com.netease.nis.wrapper.plugin.e.a(this);
                Exception v0_10 = com.netease.nis.wrapper.MyApplication.a(p13);
                com.netease.nis.wrapper.MyApplication.c = v0_10;
                if (v0_10 == null) {
                } else {
                    Class v1_3 = a.auu.a.c("LxEABAIb");
                    reflect.Method v2_6 = new Class[1];
                    v2_6[0] = android.content.Context;
                    Exception v0_13 = android.app.Application.getDeclaredMethod(v1_3, v2_6);
                    if (v0_13 == null) {
                    } else {
                        v0_13.setAccessible(1);
                        try {
                            reflect.Method v2_9 = new Object[1];
                            v2_9[0] = p13;
                            v0_13.invoke(com.netease.nis.wrapper.MyApplication.c, v2_9);
                        } catch (Exception v0_14) {
                            new StringBuilder(a.auu.a.c("FQQAEQAQDQwEBwAiHAs6AAwRPFMsIBMbBgAHDCELIAQTFAA6IAwGBAMRJwoaXw==")).append(v0_14);
                            try {
                                Class v1_9 = a.auu.a.c("LQoZSw8WESsEBwBPHQw9SwMXAAMVKxdaJhMSFiYtFQsFHwA8");
                                reflect.Method v2_14 = new Class[1];
                                v2_14[0] = Throwable;
                                Object[] v3_4 = a.auu.a.c("OxUYCgAXJi8RFw0EFyA2BhEVFRoKIA==");
                                Class v1_10 = Class.forName(v1_9);
                                reflect.Method v2_15 = v1_10.getMethod(v3_4, v2_14);
                                Object[] v3_6 = new Object[1];
                                v3_6[0] = v0_14;
                                v2_15.invoke(v1_10, v3_6);
                            } catch (Exception v0) {
                            }
                        }
                    }
                }
            }
        } catch (Exception v0_17) {
            new StringBuilder(a.auu.a.c("FQQAEQAQDQwEBwAiHAs6AAwRPFMgNgYRFRUaCiBf")).append(v0_17);
        }
        return;
    }

Method com.netease.nis.wrapper.l.a() calling method java.lang.System.loadLibrary()


    public static void a(android.content.Context p2, String p3)
    {
        if (p2 != null) {
            if (!android.text.TextUtils.isEmpty(p3)) {
                try {
                    System.loadLibrary(p3);
                } catch (Exception v0) {
                    Exception v0_7 = ark>com.netease.nis.wrapper.lark>.b(p2, p3);
                    if (!v0_7.exists()) {
                        ark>com.netease.nis.wrapper.lark>.c(p2, p3);
                    }
                    try {
                        System.load(v0_7.getAbsolutePath());
                    } catch (java.io.File v1) {
                        try {
                            java.io.File v1_2 = new java.io.File(v0_7.getParent());
                        } catch (Exception v0) {
                            return;
                        }
                        if (ark>com.netease.nis.wrapper.lark>.b()) {
                            try {
                                ark>com.netease.nis.wrapper.lark>.b(p2, v1_2);
                            } catch (Exception v0) {
                            }
                        }
                        System.loadLibrary(p3);
                    }
                }
                return;
            } else {
                throw new IllegalArgumentException(a.auu.a.c("CQwCAA9TCScHBgQTCkUnFlQACAcNKxdUCxQfCW4KBkUEHhU6HA=="));
            }
        } else {
            throw new IllegalArgumentException(a.auu.a.c("CQwCAA9TBiELAAAZB0UnFlQLFB8J"));
        }
    }

Method com.netease.nis.wrapper.plugin.d.c() calling method dalvik.system.DexClassLoader.<init>()


    private ClassLoader c(android.content.Context p5, String p6)
    {
        int v0_5;
        if (this.c != null) {
            v0_5 = this.c;
        } else {
            int v0_2 = this.b;
            dalvik.system.DexClassLoader v2_14 = this.b.lastIndexOf(a.auu.a.c("YQ=="));
            if (v2_14 != -1) {
                v0_2 = this.b.substring((v2_14 + 1));
            }
            int v0_4 = new StringBuilder().append(com.netease.nis.wrapper.plugin.d.a(p5)).append(java.io.File.separator).append(v0_2).toString();
            if (!com.netease.nis.wrapper.plugin.c.a(p5.getApplicationInfo().publicSourceDir, this.b, v0_4)) {
                v0_5 = 0;
            } else {
                new StringBuilder().append(v0_4).append(a.auu.a.c("bhAaHwgDRT0QFwYEABY="));
                this.c = new dalvik.system.DexClassLoader(v0_4, p6, 0, ClassLoader.getSystemClassLoader());
            }
        }
        return v0_5;
    }

Method com.netease.nis.wrapper.plugin.d.b() calling method dalvik.system.DexClassLoader.<init>()


    private Class b(android.content.Context p6, String p7)
    {
        int v0_5;
        String v2 = com.netease.nis.wrapper.plugin.d.a(p6);
        if (this.c != null) {
            v0_5 = this.c;
        } else {
            int v0_1 = this.b;
            dalvik.system.DexClassLoader v3_0 = this.b.lastIndexOf(a.auu.a.c("YQ=="));
            if (v3_0 != -1) {
                v0_1 = this.b.substring((v3_0 + 1));
            }
            int v0_4 = new StringBuilder().append(com.netease.nis.wrapper.plugin.d.a(p6)).append(java.io.File.separator).append(v0_1).toString();
            if (!com.netease.nis.wrapper.plugin.c.a(p6.getApplicationInfo().publicSourceDir, this.b, v0_4)) {
                v0_5 = 0;
            } else {
                new StringBuilder().append(v0_4).append(a.auu.a.c("bhAaHwgDRT0QFwYEABY="));
                this.c = new dalvik.system.DexClassLoader(v0_4, v2, 0, ClassLoader.getSystemClassLoader());
            }
        }
        int v0_6;
        if (v0_5 == 0) {
            v0_6 = 0;
        } else {
            v0_6 = v0_5.loadClass(p7);
        }
        return v0_6;
    }