Potentially Clear text HTTP request

Description

Mobile Applications must use Secure Sockets Layer SSL / Transport Layer Security TLS to provide encryption at the transport layer and ensure the confidentiality and integrity of data in transit.This application does not use SSL/TLS and is vulnerable to traffic interception and modification.

An attacker performing a man-in-the-middle (MITM) attack may:

  • Passively intercept the communication to access any sensitive data in transit like usernames, passwords or credit card number
  • Actively inject or remove content to forge and omit information or inject malicious scripts
  • Actively redirect the communication to the attacker in the context of the initial trusted party

Recommendation

It is recommended to ensure the use of an encrypted channel for requests transmitting sensitive data, it is however highly recommended to encrypt all requests made by the application, as the interception and modification of non sensitive requests could be leveraged to access sensitive data.

The encrypted channel should use secure protocols and cipher suites, do not develop custom encryption protocols or algorithms.

Technical details
[TAINT] String 'http://www.gaana.com' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/d/b;', 'a', '(Landroid/content/Context;)Ljava/lang/String;'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.d.b.a():


    public static String a(android.content.Context p10)
    {
        if (com.d.b.b == null) {
            int v3_1;
            boolean v0_2 = p10.getPackageManager();
            android.content.Intent v1_1 = new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://www.gaana.com"));
            int v3_0 = v0_2.resolveActivity(v1_1, 0);
            if (v3_0 == 0) {
                v3_1 = 0;
            } else {
                v3_1 = v3_0.activityInfo.packageName;
            }
            java.util.Iterator v5_0 = v0_2.queryIntentActivities(v1_1, 0);
            java.util.ArrayList v6_1 = new java.util.ArrayList();
            java.util.Iterator v5_1 = v5_0.iterator();
            while (v5_1.hasNext()) {
                String v7_2 = ((android.content.pm.ResolveInfo) v5_1.next());
                android.content.pm.ResolveInfo v8_1 = new android.content.Intent();
                v8_1.setAction("android.support.customtabs.action.CustomTabsService");
                v8_1.setPackage(v7_2.activityInfo.packageName);
                if (v0_2.resolveService(v8_1, 0) != null) {
                    v6_1.add(v7_2.activityInfo.packageName);
                }
            }
            if (!v6_1.isEmpty()) {
                if (v6_1.size() != 1) {
                    if ((android.text.TextUtils.isEmpty(v3_1)) || ((com.d.b.a(p10, v1_1)) || (!v6_1.contains(v3_1)))) {
                        if (!v6_1.contains("com.android.chrome")) {
                            if (!v6_1.contains("com.chrome.beta")) {
                                if (!v6_1.contains("com.chrome.dev")) {
                                    if (v6_1.contains("com.google.android.apps.chrome")) {
                                        com.d.b.b = "com.google.android.apps.chrome";
                                    }
                                } else {
                                    com.d.b.b = "com.chrome.dev";
                                }
                            } else {
                                com.d.b.b = "com.chrome.beta";
                            }
                        } else {
                            com.d.b.b = "com.android.chrome";
                        }
                    } else {
                        com.d.b.b = v3_1;
                    }
                } else {
                    com.d.b.b = ((String) v6_1.get(0));
                }
            } else {
                com.d.b.b = 0;
            }
            return com.d.b.b;
        } else {
            return com.d.b.b;
        }
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/AdChoicesView$1;', 'onTouch', '(Landroid/view/View; Landroid/view/MotionEvent;)Z'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.AdChoicesView$1.onTouch():


    public boolean onTouch(android.view.View p3, android.view.MotionEvent p4)
    {
        if (p4.getAction() != 0) {
            return 0;
        } else {
            if (!com.facebook.ads.AdChoicesView.a(this.b)) {
                com.facebook.ads.AdChoicesView.c(this.b);
            } else {
                if (!android.text.TextUtils.isEmpty(com.facebook.ads.AdChoicesView.b(this.b).getAdChoicesLinkUrl())) {
                    com.facebook.ads.internal.s.c.g.a(new com.facebook.ads.internal.s.c.g(), this.b.getContext(), android.net.Uri.parse(com.facebook.ads.AdChoicesView.b(this.b).getAdChoicesLinkUrl()), this.a.i());
                }
            }
            return 1;
        }
    }

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://%s:%d/%s' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/AudienceNetworkActivity$b;', 'a', '()Lcom/facebook/ads/internal/view/a;'), ('Lcom/facebook/ads/internal/view/h;', '<init>', '(Landroid/content/Context; Lcom/facebook/ads/internal/o/c; Lcom/facebook/ads/internal/adapters/a/g; Lcom/facebook/ads/internal/f/b; Lcom/facebook/ads/internal/view/a$a;)V'), ('Lcom/facebook/ads/internal/view/g/a;', 'setVideoURI', '(Ljava/lang/String;)V'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.AudienceNetworkActivity$b.a():


    private com.facebook.ads.internal.view.a a()
    {
        com.facebook.ads.AudienceNetworkActivity$a v5_1;
        com.facebook.ads.internal.view.h v6 = new com.facebook.ads.internal.view.h;
        com.facebook.ads.AudienceNetworkActivity v1 = this.a;
        com.facebook.ads.internal.o.c v2 = this.c;
        com.facebook.ads.internal.adapters.a.g v3 = this.i();
        if (!this.h()) {
            v5_1 = 0;
        } else {
            v5_1 = new com.facebook.ads.internal.f.b(this.a);
        }
        v6(v1, v2, v3, v5_1, new com.facebook.ads.AudienceNetworkActivity$a(this.a, 0));
        return v6;
    }

Method com.facebook.ads.internal.view.h.<init>():


    public h(android.content.Context p2, com.facebook.ads.internal.o.c p3, com.facebook.ads.internal.adapters.a.g p4, com.facebook.ads.internal.f.b p5, com.facebook.ads.internal.view.a$a p6)
    {
        super(p2, p3, p6);
        super.e = new com.facebook.ads.internal.view.h$1(super);
        super.f = new com.facebook.ads.internal.view.h$2(super);
        super.g = new com.facebook.ads.internal.view.h$3(super);
        super.h = new com.facebook.ads.internal.view.h$4(super);
        super.i = new com.facebook.ads.internal.view.h$5(super);
        super.j = new com.facebook.ads.internal.view.h$6(super);
        super.r = new com.facebook.ads.internal.s.a.w();
        super.t = new java.util.concurrent.atomic.AtomicBoolean(0);
        super.u = new java.util.concurrent.atomic.AtomicBoolean(0);
        super.z = 0;
        super.A = 0;
        super.k = new com.facebook.ads.internal.view.g.a(super.getContext());
        super.k.setVideoProgressReportIntervalMs(p4.h());
        com.facebook.ads.internal.s.a.y.a(super.k);
        com.facebook.ads.internal.s.a.y.a(super.k, 0);
        super.n = p4;
        super.o = ((com.facebook.ads.internal.adapters.a.h) super.n.d().get(0));
        super.s = p5;
        super.l = new com.facebook.ads.internal.view.g.c.o(super.getContext());
        super.m = new com.facebook.ads.internal.view.g.c.f(p2);
        String v2_7 = super.k.getEventBus();
        com.facebook.ads.internal.view.g.a v3_33 = new com.facebook.ads.internal.l.f[5];
        v3_33[0] = super.g;
        v3_33[1] = super.h;
        v3_33[2] = super.i;
        v3_33[3] = super.f;
        v3_33[4] = super.j;
        v2_7.a(v3_33);
        super.setupPlugins(super.o);
        super.q = new com.facebook.ads.internal.view.h$7(super);
        super.p = new com.facebook.ads.internal.t.a(super, 1, super.q);
        super.p.a(p4.f());
        super.p.b(p4.g());
        super.v = new com.facebook.ads.internal.view.g.b(super.getContext(), super.b, super.k, super.n.c());
        super.k.setVideoURI(super.a(super.o.c().a()));
        return;
    }

Method com.facebook.ads.internal.view.g.a.setVideoURI():


    public void setVideoURI(String p1)
    {
        int v1_1;
        if (p1 == 0) {
            v1_1 = 0;
        } else {
            v1_1 = android.net.Uri.parse(p1);
        }
        this.setVideoURI(v1_1);
        return;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://%s:%d/%s' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/AudienceNetworkActivity$b;', 'e', '(Lcom/facebook/ads/AudienceNetworkActivity$b;)Lcom/facebook/ads/internal/view/a;'), ('Lcom/facebook/ads/AudienceNetworkActivity$b;', 'a', '()Lcom/facebook/ads/internal/view/a;'), ('Lcom/facebook/ads/internal/view/h;', '<init>', '(Landroid/content/Context; Lcom/facebook/ads/internal/o/c; Lcom/facebook/ads/internal/adapters/a/g; Lcom/facebook/ads/internal/f/b; Lcom/facebook/ads/internal/view/a$a;)V'), ('Lcom/facebook/ads/internal/view/g/a;', 'setVideoURI', '(Ljava/lang/String;)V'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.AudienceNetworkActivity$b.e():


    static synthetic com.facebook.ads.internal.view.a e(com.facebook.ads.AudienceNetworkActivity$b p0)
    {
        return p0.a();
    }

Method com.facebook.ads.AudienceNetworkActivity$b.a():


    private com.facebook.ads.internal.view.a a()
    {
        com.facebook.ads.AudienceNetworkActivity$a v5_1;
        com.facebook.ads.internal.view.h v6 = new com.facebook.ads.internal.view.h;
        com.facebook.ads.AudienceNetworkActivity v1 = this.a;
        com.facebook.ads.internal.o.c v2 = this.c;
        com.facebook.ads.internal.adapters.a.g v3 = this.i();
        if (!this.h()) {
            v5_1 = 0;
        } else {
            v5_1 = new com.facebook.ads.internal.f.b(this.a);
        }
        v6(v1, v2, v3, v5_1, new com.facebook.ads.AudienceNetworkActivity$a(this.a, 0));
        return v6;
    }

Method com.facebook.ads.internal.view.h.<init>():


    public h(android.content.Context p2, com.facebook.ads.internal.o.c p3, com.facebook.ads.internal.adapters.a.g p4, com.facebook.ads.internal.f.b p5, com.facebook.ads.internal.view.a$a p6)
    {
        super(p2, p3, p6);
        super.e = new com.facebook.ads.internal.view.h$1(super);
        super.f = new com.facebook.ads.internal.view.h$2(super);
        super.g = new com.facebook.ads.internal.view.h$3(super);
        super.h = new com.facebook.ads.internal.view.h$4(super);
        super.i = new com.facebook.ads.internal.view.h$5(super);
        super.j = new com.facebook.ads.internal.view.h$6(super);
        super.r = new com.facebook.ads.internal.s.a.w();
        super.t = new java.util.concurrent.atomic.AtomicBoolean(0);
        super.u = new java.util.concurrent.atomic.AtomicBoolean(0);
        super.z = 0;
        super.A = 0;
        super.k = new com.facebook.ads.internal.view.g.a(super.getContext());
        super.k.setVideoProgressReportIntervalMs(p4.h());
        com.facebook.ads.internal.s.a.y.a(super.k);
        com.facebook.ads.internal.s.a.y.a(super.k, 0);
        super.n = p4;
        super.o = ((com.facebook.ads.internal.adapters.a.h) super.n.d().get(0));
        super.s = p5;
        super.l = new com.facebook.ads.internal.view.g.c.o(super.getContext());
        super.m = new com.facebook.ads.internal.view.g.c.f(p2);
        String v2_7 = super.k.getEventBus();
        com.facebook.ads.internal.view.g.a v3_33 = new com.facebook.ads.internal.l.f[5];
        v3_33[0] = super.g;
        v3_33[1] = super.h;
        v3_33[2] = super.i;
        v3_33[3] = super.f;
        v3_33[4] = super.j;
        v2_7.a(v3_33);
        super.setupPlugins(super.o);
        super.q = new com.facebook.ads.internal.view.h$7(super);
        super.p = new com.facebook.ads.internal.t.a(super, 1, super.q);
        super.p.a(p4.f());
        super.p.b(p4.g());
        super.v = new com.facebook.ads.internal.view.g.b(super.getContext(), super.b, super.k, super.n.c());
        super.k.setVideoURI(super.a(super.o.c().a()));
        return;
    }

Method com.facebook.ads.internal.view.g.a.setVideoURI():


    public void setVideoURI(String p1)
    {
        int v1_1;
        if (p1 == 0) {
            v1_1 = 0;
        } else {
            v1_1 = android.net.Uri.parse(p1);
        }
        this.setVideoURI(v1_1);
        return;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/view/a/b$5;', 'onClick', '(Landroid/view/View;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.view.a.b$5.onClick():


    public void onClick(android.view.View p4)
    {
        com.facebook.ads.internal.view.a.b.g(this.a);
        com.facebook.ads.internal.view.a.b.h(this.a).b(1);
        if (!android.text.TextUtils.isEmpty(com.facebook.ads.internal.c.a.n(this.a.getContext()))) {
            com.facebook.ads.internal.s.c.g.a(new com.facebook.ads.internal.s.c.g(), this.a.getContext(), android.net.Uri.parse(com.facebook.ads.internal.c.a.n(this.a.getContext())), com.facebook.ads.internal.view.a.b.f(this.a));
        }
        com.facebook.ads.internal.view.a.b.d(this.a).b();
        com.facebook.ads.internal.view.a.b.i(this.a);
        return;
    }

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://www.facebook.com' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/view/b/a;', '<clinit>', '()V'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.view.b.a.<clinit>():


    static a()
    {
        com.facebook.ads.internal.view.b.a.a = android.graphics.Color.rgb(224, 224, 224);
        com.facebook.ads.internal.view.b.a.b = android.net.Uri.parse("http://www.facebook.com");
        com.facebook.ads.internal.view.b.a.c = new com.facebook.ads.internal.view.b.a$1();
        com.facebook.ads.internal.view.b.a.d = android.graphics.Color.argb(34, 0, 0, 0);
        return;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/view/f$7;', 'onClick', '(Landroid/view/View;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.view.f$7.onClick():


    public void onClick(android.view.View p4)
    {
        android.net.Uri v4_1;
        if (android.text.TextUtils.isEmpty(com.facebook.ads.internal.c.a.n(this.c.getContext()))) {
            v4_1 = this.a.c();
        } else {
            v4_1 = com.facebook.ads.internal.c.a.n(this.c.getContext());
        }
        if (!android.text.TextUtils.isEmpty(v4_1)) {
            com.facebook.ads.internal.s.c.g.a(new com.facebook.ads.internal.s.c.g(), this.c.getContext(), android.net.Uri.parse(v4_1), this.b);
        }
        return;
    }

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/view/f$8;', 'onMenuItemClick', '(Landroid/view/MenuItem;)Z'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.view.f$8.onMenuItemClick():


    public boolean onMenuItemClick(android.view.MenuItem p4)
    {
        com.facebook.ads.internal.view.f.a(this.c, 0);
        if (!android.text.TextUtils.isEmpty(this.a.c())) {
            com.facebook.ads.internal.s.c.g.a(new com.facebook.ads.internal.s.c.g(), this.c.getContext(), android.net.Uri.parse(this.a.c()), this.b);
        }
        return 1;
    }

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.

[TAINT] String 'http://play.google.com/store/apps/' ==>>> Sink '['Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;', '0', 'HTTP_NETWORKING_SINK']' [[('Lcom/facebook/ads/internal/view/g/c/a$a$1;', 'onTouch', '(Landroid/view/View; Landroid/view/MotionEvent;)Z'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Lcom/facebook/ads/internal/s/c/g; Landroid/content/Context; Landroid/net/Uri; Ljava/lang/String;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context; Landroid/net/Uri;)V'), ('Lcom/facebook/ads/internal/s/c/g;', 'a', '(Landroid/content/Context;)Z'), ('Landroid/net/Uri;', 'parse', '(Ljava/lang/String;)Landroid/net/Uri;')]]

Use of a clear-text non-encrypted HTTP URL:

Method com.facebook.ads.internal.view.g.c.a$a$1.onTouch():


    public boolean onTouch(android.view.View p3, android.view.MotionEvent p4)
    {
        if (p4.getAction() != 0) {
            return 0;
        } else {
            if (!com.facebook.ads.internal.view.g.c.a$a.a(this.a)) {
                com.facebook.ads.internal.view.g.c.a$a.d(this.a);
            } else {
                if (!android.text.TextUtils.isEmpty(com.facebook.ads.internal.view.g.c.a$a.b(this.a))) {
                    com.facebook.ads.internal.s.c.g.a(new com.facebook.ads.internal.s.c.g(), this.a.getContext(), android.net.Uri.parse(com.facebook.ads.internal.view.g.c.a$a.b(this.a)), com.facebook.ads.internal.view.g.c.a$a.c(this.a));
                }
            }
            return 1;
        }
    }

Method com.facebook.ads.internal.s.c.g.a():

Couldn't retrieve source code

Method com.facebook.ads.internal.s.c.g.a():


    public void a(android.content.Context p2, android.net.Uri p3)
    {
        if (this.a(p2)) {
            android.content.Intent v3_1 = this.c(p2, p3);
            v3_1.setPackage("com.android.vending");
            p2.startActivity(v3_1);
            return;
        } else {
            throw new com.facebook.ads.internal.s.c.c();
        }
    }

Method com.facebook.ads.internal.s.c.g.a():


    private boolean a(android.content.Context p4)
    {
        int v4_2 = p4.getPackageManager().queryIntentActivities(new android.content.Intent("android.intent.action.VIEW", android.net.Uri.parse("http://play.google.com/store/apps/")), 0).iterator();
        while (v4_2.hasNext()) {
            if (((android.content.pm.ResolveInfo) v4_2.next()).activityInfo.applicationInfo.packageName.equals("com.android.vending")) {
                return 1;
            }
        }
        return 0;
    }

Method android.net.Uri.parse() not found.