Potentially Intent Spoofing

Description

The application is vulnerable to intent spoofing which could result in the access and exploitation of unauthorized components.

Recommendation

It is recommended to apply proper input validation and parameter filtering on intent action.

References
Technical details
[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/SplashActivity;', 'onResume', '()V'), ('Lgob/defensa/prensa/ui/SplashActivity;', 'checkPlayServices', '()Z'), ('Lcom/google/android/gms/common/GooglePlayServicesUtil;', 'getErrorDialog', '(I Landroid/app/Activity; I)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GooglePlayServicesUtil;', 'getErrorDialog', '(I Landroid/app/Activity; I Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GoogleApiAvailability;', 'getErrorDialog', '(Landroid/app/Activity; I I Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GoogleApiAvailabilityLight;', 'getErrorResolutionIntent', '(Landroid/content/Context; I Ljava/lang/String;)Landroid/content/Intent;'), ('Lcom/google/android/gms/common/internal/GmsIntents;', 'createPlayStoreIntent', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.android.vending to construct an Intent

Method gob.defensa.prensa.ui.SplashActivity.onResume():


    protected void onResume()
    {
        super.onResume();
        if (this.checkPlayServices()) {
            new android.os.Handler().postDelayed(new gob.defensa.prensa.ui.SplashActivity$1(this), 1000);
        }
        return;
    }

Method gob.defensa.prensa.ui.SplashActivity.checkPlayServices():


    private boolean checkPlayServices()
    {
        int v1_2;
        int v0 = com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        if (v0 == 0) {
            v1_2 = 1;
        } else {
            if (!com.google.android.gms.common.GooglePlayServicesUtil.isUserRecoverableError(v0)) {
                android.util.Log.i("NOTIFICATIONPUSH", "This device is not supported.");
                this.finish();
            } else {
                com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(v0, this, 9000).show();
            }
            v1_2 = 0;
        }
        return v1_2;
    }

Method com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog():


    public static android.app.Dialog getErrorDialog(int p1, android.app.Activity p2, int p3)
    {
        return com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(p1, p2, p3, 0);
    }

Method com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog():


    public static android.app.Dialog getErrorDialog(int p1, android.app.Activity p2, int p3, android.content.DialogInterface$OnCancelListener p4)
    {
        if (com.google.android.gms.common.GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(p2, p1)) {
            p1 = 18;
        }
        return com.google.android.gms.common.GoogleApiAvailability.getInstance().getErrorDialog(p2, p1, p3, p4);
    }

Method com.google.android.gms.common.GoogleApiAvailability.getErrorDialog():


    public android.app.Dialog getErrorDialog(android.app.Activity p2, int p3, int p4, android.content.DialogInterface$OnCancelListener p5)
    {
        return com.google.android.gms.common.GoogleApiAvailability.zza(p2, p3, com.google.android.gms.common.internal.DialogRedirect.getInstance(p2, this.getErrorResolutionIntent(p2, p3, "d"), p4), p5);
    }

Method com.google.android.gms.common.GoogleApiAvailabilityLight.getErrorResolutionIntent():


    public android.content.Intent getErrorResolutionIntent(android.content.Context p3, int p4, String p5)
    {
        android.content.Intent v0_1;
        switch (p4) {
            case 1:
            case 2:
                if ((p3 == null) || (!com.google.android.gms.common.util.DeviceProperties.isWearableWithoutPlayStore(p3))) {
                    v0_1 = com.google.android.gms.common.internal.GmsIntents.createPlayStoreIntent("com.google.android.gms", com.google.android.gms.common.GoogleApiAvailabilityLight.zza(p3, p5));
                } else {
                    v0_1 = com.google.android.gms.common.internal.GmsIntents.createAndroidWearUpdateIntent();
                }
                break;
            case 3:
                v0_1 = com.google.android.gms.common.internal.GmsIntents.createSettingsIntent("com.google.android.gms");
                break;
            default:
                v0_1 = 0;
        }
        return v0_1;
    }

Method com.google.android.gms.common.internal.GmsIntents.createPlayStoreIntent():


    public static android.content.Intent createPlayStoreIntent(String p3, String p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.intent.action.VIEW");
        int v1_1 = android.net.Uri.parse("market://details").buildUpon().appendQueryParameter("id", p3);
        if (!android.text.TextUtils.isEmpty(p4)) {
            v1_1.appendQueryParameter("pcampaignid", p4);
        }
        v0_1.setData(v1_1.build());
        v0_1.setPackage("com.android.vending");
        v0_1.addFlags(524288);
        return v0_1;
    }

Method android.content.Intent.setPackage() not found.

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/SplashActivity;', 'checkPlayServices', '()Z'), ('Lcom/google/android/gms/common/GooglePlayServicesUtil;', 'getErrorDialog', '(I Landroid/app/Activity; I)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GooglePlayServicesUtil;', 'getErrorDialog', '(I Landroid/app/Activity; I Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GoogleApiAvailability;', 'getErrorDialog', '(Landroid/app/Activity; I I Landroid/content/DialogInterface$OnCancelListener;)Landroid/app/Dialog;'), ('Lcom/google/android/gms/common/GoogleApiAvailabilityLight;', 'getErrorResolutionIntent', '(Landroid/content/Context; I Ljava/lang/String;)Landroid/content/Intent;'), ('Lcom/google/android/gms/common/internal/GmsIntents;', 'createPlayStoreIntent', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.android.vending to construct an Intent

Method gob.defensa.prensa.ui.SplashActivity.checkPlayServices():


    private boolean checkPlayServices()
    {
        int v1_2;
        int v0 = com.google.android.gms.common.GooglePlayServicesUtil.isGooglePlayServicesAvailable(this);
        if (v0 == 0) {
            v1_2 = 1;
        } else {
            if (!com.google.android.gms.common.GooglePlayServicesUtil.isUserRecoverableError(v0)) {
                android.util.Log.i("NOTIFICATIONPUSH", "This device is not supported.");
                this.finish();
            } else {
                com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(v0, this, 9000).show();
            }
            v1_2 = 0;
        }
        return v1_2;
    }

Method com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog():


    public static android.app.Dialog getErrorDialog(int p1, android.app.Activity p2, int p3)
    {
        return com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog(p1, p2, p3, 0);
    }

Method com.google.android.gms.common.GooglePlayServicesUtil.getErrorDialog():


    public static android.app.Dialog getErrorDialog(int p1, android.app.Activity p2, int p3, android.content.DialogInterface$OnCancelListener p4)
    {
        if (com.google.android.gms.common.GooglePlayServicesUtilLight.isPlayServicesPossiblyUpdating(p2, p1)) {
            p1 = 18;
        }
        return com.google.android.gms.common.GoogleApiAvailability.getInstance().getErrorDialog(p2, p1, p3, p4);
    }

Method com.google.android.gms.common.GoogleApiAvailability.getErrorDialog():


    public android.app.Dialog getErrorDialog(android.app.Activity p2, int p3, int p4, android.content.DialogInterface$OnCancelListener p5)
    {
        return com.google.android.gms.common.GoogleApiAvailability.zza(p2, p3, com.google.android.gms.common.internal.DialogRedirect.getInstance(p2, this.getErrorResolutionIntent(p2, p3, "d"), p4), p5);
    }

Method com.google.android.gms.common.GoogleApiAvailabilityLight.getErrorResolutionIntent():


    public android.content.Intent getErrorResolutionIntent(android.content.Context p3, int p4, String p5)
    {
        android.content.Intent v0_1;
        switch (p4) {
            case 1:
            case 2:
                if ((p3 == null) || (!com.google.android.gms.common.util.DeviceProperties.isWearableWithoutPlayStore(p3))) {
                    v0_1 = com.google.android.gms.common.internal.GmsIntents.createPlayStoreIntent("com.google.android.gms", com.google.android.gms.common.GoogleApiAvailabilityLight.zza(p3, p5));
                } else {
                    v0_1 = com.google.android.gms.common.internal.GmsIntents.createAndroidWearUpdateIntent();
                }
                break;
            case 3:
                v0_1 = com.google.android.gms.common.internal.GmsIntents.createSettingsIntent("com.google.android.gms");
                break;
            default:
                v0_1 = 0;
        }
        return v0_1;
    }

Method com.google.android.gms.common.internal.GmsIntents.createPlayStoreIntent():


    public static android.content.Intent createPlayStoreIntent(String p3, String p4)
    {
        android.content.Intent v0_1 = new android.content.Intent("android.intent.action.VIEW");
        int v1_1 = android.net.Uri.parse("market://details").buildUpon().appendQueryParameter("id", p3);
        if (!android.text.TextUtils.isEmpty(p4)) {
            v1_1.appendQueryParameter("pcampaignid", p4);
        }
        v0_1.setData(v1_1.build());
        v0_1.setPackage("com.android.vending");
        v0_1.addFlags(524288);
        return v0_1;
    }

Method android.content.Intent.setPackage() not found.

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zze', '(Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zze():


    private final declared_synchronized void zze(android.content.Intent p5)
    {
        try {
            if (this.zzad == null) {
                String v0_5 = new android.content.Intent();
                v0_5.setPackage("com.google.example.invalidpackage");
                this.zzad = android.app.PendingIntent.getBroadcast(this.zzk, 0, v0_5, 0);
            }
        } catch (String v0_2) {
            throw v0_2;
        }
        p5.putExtra("app", this.zzad);
        return;
    }

Method android.content.Intent.setPackage() not found.

[TAINT] String 'google.message_id' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.message_id to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/content/Context;)Z'), ('Lcom/google/android/gms/iid/zzaf;', 'zzl', '(Landroid/content/Context;)Ljava/lang/String;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.iid.zzaf.zzk():


    public static boolean zzk(android.content.Context p1)
    {
        if (com.google.android.gms.iid.zzaf.zzcp != null) {
            com.google.android.gms.iid.zzaf.zzl(p1);
        }
        return com.google.android.gms.iid.zzaf.zzcq;
    }

Method com.google.android.gms.iid.zzaf.zzl():


    public static String zzl(android.content.Context p6)
    {
        String v0_30;
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            com.google.android.gms.iid.zzaf.zzcr = android.os.Process.myUid();
            android.content.pm.PackageManager v3 = p6.getPackageManager();
            if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                java.util.Iterator v4_1 = v3.queryIntentServices(new android.content.Intent("com.google.android.c2dm.intent.REGISTER"), 0).iterator();
                while (v4_1.hasNext()) {
                    if (com.google.android.gms.iid.zzaf.zzd(v3, ((android.content.pm.ResolveInfo) v4_1.next()).serviceInfo.packageName, "com.google.android.c2dm.intent.REGISTER")) {
                        com.google.android.gms.iid.zzaf.zzcq = 0;
                        String v0_6 = 1;
                    }
                    if (v0_6 != null) {
                        v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                        return v0_30;
                    }
                }
                v0_6 = 0;
            }
            java.util.Iterator v4_3 = v3.queryBroadcastReceivers(new android.content.Intent("com.google.iid.TOKEN_REQUEST"), 0).iterator();
            while (v4_3.hasNext()) {
                if (com.google.android.gms.iid.zzaf.zzd(v3, ((android.content.pm.ResolveInfo) v4_3.next()).activityInfo.packageName, "com.google.iid.TOKEN_REQUEST")) {
                    com.google.android.gms.iid.zzaf.zzcq = 1;
                    String v0_16 = 1;
                }
                if (v0_16 == null) {
                    android.util.Log.w("InstanceID", "Failed to resolve IID implementation package, falling back");
                    if (!com.google.android.gms.iid.zzaf.zzd(v3, "com.google.android.gms")) {
                        if ((com.google.android.gms.common.util.PlatformVersion.isAtLeastLollipop()) || (!com.google.android.gms.iid.zzaf.zzd(v3, "com.google.android.gsf"))) {
                            android.util.Log.w("InstanceID", "Google Play services is missing, unable to get tokens");
                            v0_30 = 0;
                        } else {
                            com.google.android.gms.iid.zzaf.zzcq = 0;
                            v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                        }
                    } else {
                        com.google.android.gms.iid.zzaf.zzcq = com.google.android.gms.common.util.PlatformVersion.isAtLeastO();
                        v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                    }
                } else {
                    v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                }
            }
            v0_16 = 0;
        } else {
            v0_30 = com.google.android.gms.iid.zzaf.zzcp;
        }
        return v0_30;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'google.rpc' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.rpc to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'google.messenger' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Landroid/os/Parcelable;)Landroid/content/Intent;')]]

Use of a string value google.messenger to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p2)
    {
        return this.doInBackground(((Void[]) p2));
    }

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'google.rpc' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '1', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.rpc to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p2)
    {
        return this.doInBackground(((Void[]) p2));
    }

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.google.iid.TOKEN_REQUEST' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/iid/zzaf;', 'zzk', '(Landroid/content/Context;)Z'), ('Lcom/google/android/gms/iid/zzaf;', 'zzl', '(Landroid/content/Context;)Ljava/lang/String;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

Use of a string value com.google.iid.TOKEN_REQUEST to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p2)
    {
        return this.doInBackground(((Void[]) p2));
    }

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.iid.zzaf.zzk():


    public static boolean zzk(android.content.Context p1)
    {
        if (com.google.android.gms.iid.zzaf.zzcp != null) {
            com.google.android.gms.iid.zzaf.zzl(p1);
        }
        return com.google.android.gms.iid.zzaf.zzcq;
    }

Method com.google.android.gms.iid.zzaf.zzl():


    public static String zzl(android.content.Context p6)
    {
        String v0_30;
        if (com.google.android.gms.iid.zzaf.zzcp == null) {
            com.google.android.gms.iid.zzaf.zzcr = android.os.Process.myUid();
            android.content.pm.PackageManager v3 = p6.getPackageManager();
            if (!com.google.android.gms.common.util.PlatformVersion.isAtLeastO()) {
                java.util.Iterator v4_1 = v3.queryIntentServices(new android.content.Intent("com.google.android.c2dm.intent.REGISTER"), 0).iterator();
                while (v4_1.hasNext()) {
                    if (com.google.android.gms.iid.zzaf.zzd(v3, ((android.content.pm.ResolveInfo) v4_1.next()).serviceInfo.packageName, "com.google.android.c2dm.intent.REGISTER")) {
                        com.google.android.gms.iid.zzaf.zzcq = 0;
                        String v0_6 = 1;
                    }
                    if (v0_6 != null) {
                        v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                        return v0_30;
                    }
                }
                v0_6 = 0;
            }
            java.util.Iterator v4_3 = v3.queryBroadcastReceivers(new android.content.Intent("com.google.iid.TOKEN_REQUEST"), 0).iterator();
            while (v4_3.hasNext()) {
                if (com.google.android.gms.iid.zzaf.zzd(v3, ((android.content.pm.ResolveInfo) v4_3.next()).activityInfo.packageName, "com.google.iid.TOKEN_REQUEST")) {
                    com.google.android.gms.iid.zzaf.zzcq = 1;
                    String v0_16 = 1;
                }
                if (v0_16 == null) {
                    android.util.Log.w("InstanceID", "Failed to resolve IID implementation package, falling back");
                    if (!com.google.android.gms.iid.zzaf.zzd(v3, "com.google.android.gms")) {
                        if ((com.google.android.gms.common.util.PlatformVersion.isAtLeastLollipop()) || (!com.google.android.gms.iid.zzaf.zzd(v3, "com.google.android.gsf"))) {
                            android.util.Log.w("InstanceID", "Google Play services is missing, unable to get tokens");
                            v0_30 = 0;
                        } else {
                            com.google.android.gms.iid.zzaf.zzcq = 0;
                            v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                        }
                    } else {
                        com.google.android.gms.iid.zzaf.zzcq = com.google.android.gms.common.util.PlatformVersion.isAtLeastO();
                        v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                    }
                } else {
                    v0_30 = com.google.android.gms.iid.zzaf.zzcp;
                }
            }
            v0_16 = 0;
        } else {
            v0_30 = com.google.android.gms.iid.zzaf.zzcp;
        }
        return v0_30;
    }

Method android.content.Intent.<init>() not found.

[TAINT] String 'google.message_id' ==>>> Sink '['Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Landroid/content/Intent;', 'putExtra', '(Ljava/lang/String; Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value google.message_id to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p2)
    {
        return this.doInBackground(((Void[]) p2));
    }

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method android.content.Intent.putExtra() not found.

[TAINT] String 'com.google.example.invalidpackage' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Object;)Ljava/lang/Object;'), ('Lgob/defensa/prensa/ui/MainActivity$RegisterNotificationTask;', 'doInBackground', '([Ljava/lang/Void;)Ljava/lang/Void;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'register', '([Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Z [Ljava/lang/String;)Ljava/lang/String;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zzd', '(Landroid/os/Bundle; Z)Landroid/content/Intent;'), ('Lcom/google/android/gms/gcm/GoogleCloudMessaging;', 'zze', '(Landroid/content/Intent;)V'), ('Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;')]]

Use of a string value com.google.example.invalidpackage to construct an Intent

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected bridge synthetic Object doInBackground(Object[] p2)
    {
        return this.doInBackground(((Void[]) p2));
    }

Method gob.defensa.prensa.ui.MainActivity$RegisterNotificationTask.doInBackground():


    protected varargs Void doInBackground(Void[] p8)
    {
        try {
            if (this.this$0.gcm != null) {
                int v2_1 = this.this$0;
                android.content.Context v3_1 = this.this$0.gcm;
                String v4_1 = new String[1];
                v4_1[0] = this.this$0.SENDER_ID;
                v2_1.regid = v3_1.register(v4_1);
                new StringBuilder().append("Device registered, registration ID=").append(this.this$0.regid).toString();
                gob.defensa.prensa.ui.MainActivity.access$000(this.this$0);
                gob.defensa.prensa.ui.MainActivity.access$100(this.this$0, this.this$0.context, this.this$0.regid);
            } else {
                this.this$0.gcm = com.google.android.gms.gcm.GoogleCloudMessaging.getInstance(this.this$0.context);
            }
        } catch (java.io.IOException v0) {
            new StringBuilder().append("Error :").append(v0.getMessage()).toString();
        }
        return 0;
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.register():


    public varargs declared_synchronized String register(String[] p2)
    {
        try {
            return this.zzd(com.google.android.gms.iid.zzaf.zzk(this.zzk), p2);
        } catch (Throwable v0_3) {
            throw v0_3;
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final varargs declared_synchronized String zzd(boolean p6, String[] p7)
    {
        try {
            String v1_0 = com.google.android.gms.iid.zzaf.zzl(this.zzk);
        } catch (java.io.IOException v0_16) {
            throw v0_16;
        }
        if (v1_0 != null) {
            if ((p7 != null) && (p7.length != 0)) {
                android.os.Bundle v2_0 = new StringBuilder(p7[0]);
                java.io.IOException v0_1 = 1;
                while (v0_1 < p7.length) {
                    v2_0.append(44).append(p7[v0_1]);
                    v0_1++;
                }
                java.io.IOException v0_4;
                java.io.IOException v0_2 = v2_0.toString();
                android.os.Bundle v2_2 = new android.os.Bundle();
                if (!v1_0.contains(".gsf")) {
                    v2_2.putString("sender", v0_2);
                    String v1_3 = this.zzd(v2_2, p6);
                    if (v1_3 != null) {
                        v0_4 = v1_3.getStringExtra("registration_id");
                        if (v0_4 == null) {
                            java.io.IOException v0_6 = v1_3.getStringExtra("error");
                            if (v0_6 == null) {
                                throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                            } else {
                                throw new java.io.IOException(v0_6);
                            }
                        }
                    } else {
                        throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
                    }
                } else {
                    v2_2.putString("legacy.sender", v0_2);
                    v0_4 = com.google.android.gms.iid.InstanceID.getInstance(this.zzk).getToken(v0_2, "GCM", v2_2);
                }
                return v0_4;
            } else {
                throw new IllegalArgumentException("No senderIds");
            }
        } else {
            throw new java.io.IOException("SERVICE_NOT_AVAILABLE");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zzd():


    private final android.content.Intent zzd(android.os.Bundle p5, boolean p6)
    {
        if (android.os.Looper.getMainLooper() != android.os.Looper.myLooper()) {
            if (com.google.android.gms.gcm.GoogleCloudMessaging.zzf(this.zzk) >= 0) {
                String v0_1;
                if (!p6) {
                    v0_1 = "com.google.android.c2dm.intent.REGISTER";
                } else {
                    v0_1 = "com.google.iid.TOKEN_REQUEST";
                }
                java.io.IOException v1_0 = new android.content.Intent(v0_1);
                v1_0.setPackage(com.google.android.gms.iid.zzaf.zzl(this.zzk));
                this.zze(v1_0);
                v1_0.putExtra("google.message_id", new StringBuilder(21).append("google.rpc").append(com.google.android.gms.gcm.GoogleCloudMessaging.zzaf.getAndIncrement()).toString());
                v1_0.putExtras(p5);
                v1_0.putExtra("google.messenger", this.zzah);
                if (!p6) {
                    this.zzk.startService(v1_0);
                } else {
                    this.zzk.sendBroadcast(v1_0);
                }
                try {
                    return ((android.content.Intent) this.zzag.poll(30000, java.util.concurrent.TimeUnit.MILLISECONDS));
                } catch (String v0_15) {
                    throw new java.io.IOException(v0_15.getMessage());
                }
            } else {
                throw new java.io.IOException("Google Play Services missing");
            }
        } else {
            throw new java.io.IOException("MAIN_THREAD");
        }
    }

Method com.google.android.gms.gcm.GoogleCloudMessaging.zze():


    private final declared_synchronized void zze(android.content.Intent p5)
    {
        try {
            if (this.zzad == null) {
                String v0_5 = new android.content.Intent();
                v0_5.setPackage("com.google.example.invalidpackage");
                this.zzad = android.app.PendingIntent.getBroadcast(this.zzk, 0, v0_5, 0);
            }
        } catch (String v0_2) {
            throw v0_2;
        }
        p5.putExtra("app", this.zzad);
        return;
    }

Method android.content.Intent.setPackage() not found.