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.unity3d.services.core.device.Device.getSystemProperty() calling method java.lang.System.getProperty()


    public static String getSystemProperty(String p1, String p2)
    {
        String v0;
        if (p2 == null) {
            v0 = System.getProperty(p1);
        } else {
            v0 = System.getProperty(p1, p2);
        }
        return v0;
    }

Method com.unity3d.services.core.device.Device.searchPathForBinary() calling method java.lang.System.getenv()


    private static boolean searchPathForBinary(String p11)
    {
        int v5 = 0;
        String[] v4 = System.getenv("PATH").split(":");
        int v8 = v4.length;
        int v7_0 = 0;
        while (v7_0 < v8) {
            java.io.File v2_1 = new java.io.File(v4[v7_0]);
            if ((v2_1.exists()) && (v2_1.isDirectory())) {
                java.io.File[] v3 = v2_1.listFiles();
                if (v3 != null) {
                    int v6_3 = 0;
                    while (v6_3 < v3.length) {
                        if (!v3[v6_3].getName().equals(p11)) {
                            v6_3++;
                        } else {
                            v5 = 1;
                            return v5;
                        }
                    }
                }
            }
            v7_0++;
        }
        return v5;
    }