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.

Technical details
[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'initialize', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.initialize():


    public void initialize()
    {
        this.bindPlayServices();
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'initialize', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.initialize():


    public void initialize()
    {
        this.bindPlayServices();
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        com.anjlab.android.iab.v3.BillingProcessor v6 = new com.anjlab.android.iab.v3.BillingProcessor;
        v6(p7, p8, p9, p10, 0);
        return v6;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        com.anjlab.android.iab.v3.BillingProcessor v6 = new com.anjlab.android.iab.v3.BillingProcessor;
        v6(p7, p8, p9, p10, 0);
        return v6;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        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']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p1, String p2, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p3)
    {
        return com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor(p1, p2, 0, p3);
    }

Method com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        com.anjlab.android.iab.v3.BillingProcessor v6 = new com.anjlab.android.iab.v3.BillingProcessor;
        v6(p7, p8, p9, p10, 0);
        return v6;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'newBillingProcessor', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)Lcom/anjlab/android/iab/v3/BillingProcessor;'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p1, String p2, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p3)
    {
        return com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor(p1, p2, 0, p3);
    }

Method com.anjlab.android.iab.v3.BillingProcessor.newBillingProcessor():


    public static com.anjlab.android.iab.v3.BillingProcessor newBillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        com.anjlab.android.iab.v3.BillingProcessor v6 = new com.anjlab.android.iab.v3.BillingProcessor;
        v6(p7, p8, p9, p10, 0);
        return v6;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'isIabServiceAvailable', '(Landroid/content/Context;)Z'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.isIabServiceAvailable():


    public static boolean isIabServiceAvailable(android.content.Context p2)
    {
        int v1 = 0;
        int v2_2 = p2.getPackageManager().queryIntentServices(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), 0);
        if ((v2_2 != 0) && (v2_2.size() > 0)) {
            v1 = 1;
        }
        return v1;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'isIabServiceAvailable', '(Landroid/content/Context;)Z'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.isIabServiceAvailable():


    public static boolean isIabServiceAvailable(android.content.Context p2)
    {
        int v1 = 0;
        int v2_2 = p2.getPackageManager().queryIntentServices(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), 0);
        if ((v2_2 != 0) && (v2_2.size() > 0)) {
            v1 = 1;
        }
        return v1;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        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']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        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']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        this(p7, p8, p9, p10, 1);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        this(p7, p8, p9, p10, 1);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending.billing.InAppBillingService.BIND' ==>>> Sink '['Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()Landroid/content/Intent;'), ('Landroid/content/Intent;', '<init>', '(Ljava/lang/String;)V')]]

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

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4)
    {
        this(p2, p3, 0, p4);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        this(p7, p8, p9, p10, 1);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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

[TAINT] String 'com.android.vending' ==>>> Sink '['Landroid/content/Intent;', 'setPackage', '(Ljava/lang/String;)Landroid/content/Intent;', '0', 'IPC_SINK']' [[('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler;)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', '<init>', '(Landroid/content/Context; Ljava/lang/String; Ljava/lang/String; Lcom/anjlab/android/iab/v3/BillingProcessor$IBillingHandler; Z)V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'bindPlayServices', '()V'), ('Lcom/anjlab/android/iab/v3/BillingProcessor;', 'getBindServiceIntent', '()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 com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4)
    {
        this(p2, p3, 0, p4);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    public BillingProcessor(android.content.Context p7, String p8, String p9, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p10)
    {
        this(p7, p8, p9, p10, 1);
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.<init>():


    private BillingProcessor(android.content.Context p1, String p2, String p3, com.anjlab.android.iab.v3.BillingProcessor$IBillingHandler p4, boolean p5)
    {
        super(p1.getApplicationContext());
        super.serviceConnection = new com.anjlab.android.iab.v3.BillingProcessor$1(super);
        super.signatureBase64 = p2;
        super.eventHandler = p4;
        super.contextPackageName = super.getContext().getPackageName();
        super.cachedProducts = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".products.cache.v2_6");
        super.cachedSubscriptions = new com.anjlab.android.iab.v3.BillingCache(super.getContext(), ".subscriptions.cache.v2_6");
        super.developerMerchantId = p3;
        if (p5) {
            super.bindPlayServices();
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.bindPlayServices():


    private void bindPlayServices()
    {
        try {
            this.getContext().bindService(com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent(), this.serviceConnection, 1);
        } catch (Exception v0_1) {
            android.util.Log.e("iabv3", "error in bindPlayServices", v0_1);
            this.reportBillingError(113, v0_1);
        }
        return;
    }

Method com.anjlab.android.iab.v3.BillingProcessor.getBindServiceIntent():


    private static android.content.Intent getBindServiceIntent()
    {
        android.content.Intent v0_1 = new android.content.Intent("com.android.vending.billing.InAppBillingService.BIND");
        v0_1.setPackage("com.android.vending");
        return v0_1;
    }

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