ADBehaviorCodeDecoder.smali
.class Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;
.super Ljava/lang/Object;
.source "ADBehaviorCodeDecoder.java"
# static fields
.field static final synthetic $assertionsDisabled:Z
.field private static final BITS_ADWARE_DEFINE_BEGIN:I = 0x87
.field private static final BITS_ADWARE_DEFINE_EVIL:I = 0x88
.field private static final BITS_ADWARE_DEFINE_PIRACY:I = 0x89
.field private static final BITS_ADWARE_DEFINE_POWER:I = 0x8b
.field private static final BITS_ADWARE_DEFINE_RES_VALID:I = 0x80
.field private static final BITS_ADWARE_DEFINE_WHITE:I = 0x8a
.field private static final BITS_ADWARE_NUMBER_BEGIN:I = 0x81
.field private static final BITS_ADWARE_TYPE_ADBAR:I = 0xa1
.field private static final BITS_ADWARE_TYPE_ADWALL:I = 0xa2
.field private static final BITS_ADWARE_TYPE_APP_LIST:I = 0xa5
.field private static final BITS_ADWARE_TYPE_AUTO_START:I = 0xae
.field private static final BITS_ADWARE_TYPE_BEGIN:I = 0xa0
.field private static final BITS_ADWARE_TYPE_GET_GPS:I = 0xa7
.field private static final BITS_ADWARE_TYPE_GET_IMEI:I = 0xa3
.field private static final BITS_ADWARE_TYPE_LOAD_DEX:I = 0xa8
.field private static final BITS_ADWARE_TYPE_NOTIFY:I = 0xa0
.field private static final BITS_ADWARE_TYPE_PHONE_NUM:I = 0xa4
.field private static final BITS_ADWARE_TYPE_POP_WIN:I = 0xb0
.field private static final BITS_ADWARE_TYPE_READ_ACCOUNT:I = 0xad
.field private static final BITS_ADWARE_TYPE_READ_CONTACT:I = 0xa6
.field private static final BITS_ADWARE_TYPE_SERVICE:I = 0xa9
.field private static final BITS_ADWARE_TYPE_SPRITE:I = 0xab
.field private static final BITS_ADWARE_TYPE_VIDEO:I = 0xaa
.field private static final BITS_ADWARE_TYPE_WAKE_LOCK:I = 0xaf
.field private static final BITS_ADWARE_TYPE_WRITE_SMS:I = 0xac
# instance fields
.field private mBitsArray:[B
# direct methods
.method static constructor <clinit>()V
.registers 1
.prologue
.line 5
const-class v0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;
invoke-virtual {v0}, Ljava/lang/Class;->desiredAssertionStatus()Z
move-result v0
if-nez v0, :cond_c
const/4 v0, 0x1
:goto_9
sput-boolean v0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->$assertionsDisabled:Z
return-void
:cond_c
const/4 v0, 0x0
goto :goto_9
.end method
.method public constructor <init>(Ljava/lang/String;I)V
.registers 5
.prologue
.line 92
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
.line 90
const/16 v0, 0x100
new-array v0, v0, [B
iput-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
.line 93
new-instance v0, Ljava/math/BigInteger;
invoke-direct {v0, p1, p2}, Ljava/math/BigInteger;-><init>(Ljava/lang/String;I)V
.line 94
iget-object v1, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
invoke-direct {p0, v0, v1}, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->Sync(Ljava/math/BigInteger;[B)V
.line 95
return-void
.end method
.method private static ConvertBitsArrayToByteArray([B)[B
.registers 8
.prologue
const/4 v2, 0x1
const/4 v1, 0x0
.line 56
array-length v0, p0
div-int/lit8 v3, v0, 0x8
array-length v0, p0
rem-int/lit8 v0, v0, 0x8
if-nez v0, :cond_29
move v0, v1
:goto_b
add-int/2addr v0, v3
.line 57
new-array v3, v0, [B
move v0, v1
.line 59
:goto_f
array-length v4, p0
if-ge v0, v4, :cond_2b
.line 60
div-int/lit8 v4, v0, 0x8
.line 61
rem-int/lit8 v5, v0, 0x8
.line 62
if-nez v5, :cond_1a
.line 63
aput-byte v1, v3, v1
.line 65
:cond_1a
aget-byte v6, p0, v0
if-eqz v6, :cond_26
.line 66
aget-byte v6, v3, v4
shl-int v5, v2, v5
or-int/2addr v5, v6
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 59
:cond_26
add-int/lit8 v0, v0, 0x1
goto :goto_f
:cond_29
move v0, v2
.line 56
goto :goto_b
.line 69
:cond_2b
return-object v3
.end method
.method private static ConvertByteArrayToBitsArrayBigEndian([B)[B
.registers 7
.prologue
const/4 v1, 0x0
.line 42
sget-boolean v0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->$assertionsDisabled:Z
if-nez v0, :cond_10
array-length v0, p0
const/16 v2, 0x20
if-eq v0, v2, :cond_10
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 44
:cond_10
array-length v0, p0
mul-int/lit8 v0, v0, 0x8
new-array v3, v0, [B
move v0, v1
.line 46
:goto_16
array-length v2, p0
if-ge v0, v2, :cond_31
move v2, v1
.line 47
:goto_1a
const/16 v4, 0x8
if-ge v2, v4, :cond_2e
.line 48
mul-int/lit8 v4, v0, 0x8
add-int/lit8 v4, v4, 0x7
sub-int/2addr v4, v2
aget-byte v5, p0, v0
shr-int/2addr v5, v2
and-int/lit8 v5, v5, 0x1
int-to-byte v5, v5
aput-byte v5, v3, v4
.line 47
add-int/lit8 v2, v2, 0x1
goto :goto_1a
.line 46
:cond_2e
add-int/lit8 v0, v0, 0x1
goto :goto_16
.line 51
:cond_31
return-object v3
.end method
.method private Sync(Ljava/math/BigInteger;[B)V
.registers 7
.prologue
const/16 v3, 0x100
const/4 v1, 0x0
.line 219
sget-boolean v0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->$assertionsDisabled:Z
if-nez v0, :cond_10
array-length v0, p2
if-eq v0, v3, :cond_10
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
.line 221
:cond_10
invoke-virtual {p1}, Ljava/math/BigInteger;->toByteArray()[B
move-result-object v0
invoke-direct {p0, v0}, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->paddingByteArray([B)[B
move-result-object v0
invoke-static {v0}, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->ConvertByteArrayToBitsArrayBigEndian([B)[B
move-result-object v0
invoke-direct {p0, v0}, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->reverse([B)[B
move-result-object v2
.line 223
sget-boolean v0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->$assertionsDisabled:Z
if-nez v0, :cond_2d
array-length v0, v2
if-le v0, v3, :cond_2d
new-instance v0, Ljava/lang/AssertionError;
invoke-direct {v0}, Ljava/lang/AssertionError;-><init>()V
throw v0
:cond_2d
move v0, v1
.line 225
:goto_2e
array-length v3, p2
if-ge v0, v3, :cond_3e
.line 226
array-length v3, v2
if-ge v0, v3, :cond_3b
.line 227
aget-byte v3, v2, v0
aput-byte v3, p2, v0
.line 225
:goto_38
add-int/lit8 v0, v0, 0x1
goto :goto_2e
.line 229
:cond_3b
aput-byte v1, p2, v0
goto :goto_38
.line 232
:cond_3e
return-void
.end method
.method private paddingByteArray([B)[B
.registers 7
.prologue
const/4 v2, 0x0
const/16 v4, 0x20
.line 235
array-length v0, p1
if-ne v0, v4, :cond_7
.line 248
:goto_6
return-object p1
.line 239
:cond_7
new-array v0, v4, [B
move v1, v2
.line 241
:goto_a
if-ge v1, v4, :cond_1f
.line 242
array-length v3, p1
rsub-int/lit8 v3, v3, 0x20
if-lt v1, v3, :cond_1c
.line 243
array-length v3, p1
add-int/lit8 v3, v3, -0x20
add-int/2addr v3, v1
aget-byte v3, p1, v3
aput-byte v3, v0, v1
.line 241
:goto_19
add-int/lit8 v1, v1, 0x1
goto :goto_a
.line 245
:cond_1c
aput-byte v2, v0, v1
goto :goto_19
:cond_1f
move-object p1, v0
.line 248
goto :goto_6
.end method
.method private reverse([B)[B
.registers 5
.prologue
.line 252
array-length v0, p1
new-array v1, v0, [B
.line 254
const/4 v0, 0x0
:goto_4
array-length v2, p1
if-ge v0, v2, :cond_12
.line 255
array-length v2, p1
add-int/lit8 v2, v2, -0x1
sub-int/2addr v2, v0
aget-byte v2, p1, v2
aput-byte v2, v1, v0
.line 254
add-int/lit8 v0, v0, 0x1
goto :goto_4
.line 257
:cond_12
return-object v1
.end method
# virtual methods
.method public GetADSDKNumber()I
.registers 6
.prologue
const/4 v4, 0x6
const/4 v3, 0x0
.line 123
new-array v0, v4, [B
.line 124
iget-object v1, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v2, 0x81
invoke-static {v1, v2, v0, v3, v4}, Ljava/lang/System;->arraycopy(Ljava/lang/Object;ILjava/lang/Object;II)V
.line 126
invoke-static {v0}, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->ConvertBitsArrayToByteArray([B)[B
move-result-object v0
aget-byte v0, v0, v3
return v0
.end method
.method public GetAdResEvil()Z
.registers 3
.prologue
.line 138
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0x88
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetAdResPiracy()Z
.registers 3
.prologue
.line 146
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0x89
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetAdResPower()Z
.registers 3
.prologue
.line 142
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0x8b
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetAdResWhite()Z
.registers 3
.prologue
.line 134
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0x8a
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetAdScanValid()Z
.registers 3
.prologue
.line 130
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0x80
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeAdBar()Z
.registers 3
.prologue
.line 154
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa1
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeAdWall()Z
.registers 3
.prologue
.line 158
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa2
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeAutoStart()Z
.registers 3
.prologue
.line 206
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xae
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeGetAppList()Z
.registers 3
.prologue
.line 166
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa5
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeGetContacts()Z
.registers 3
.prologue
.line 170
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa6
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeGetGPS()Z
.registers 3
.prologue
.line 174
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa7
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeGetIMEI()Z
.registers 3
.prologue
.line 194
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa3
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeGetPhoneNumber()Z
.registers 3
.prologue
.line 162
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa4
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeLoadDex()Z
.registers 3
.prologue
.line 178
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa8
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeNotify()Z
.registers 3
.prologue
.line 150
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa0
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypePopWin()Z
.registers 3
.prologue
.line 214
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xb0
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeReadAccount()Z
.registers 3
.prologue
.line 202
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xad
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeSprite()Z
.registers 3
.prologue
.line 190
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xab
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeStartService()Z
.registers 3
.prologue
.line 182
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xa9
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeVideo()Z
.registers 3
.prologue
.line 186
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xaa
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeWakeLock()Z
.registers 3
.prologue
.line 210
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xaf
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method
.method public GetHasAdTypeWriteSMS()Z
.registers 3
.prologue
.line 198
iget-object v0, p0, Lcom/cm/plugincluster/softmgr/interfaces/scan/ADBehaviorCodeDecoder;->mBitsArray:[B
const/16 v1, 0xac
aget-byte v0, v0, v1
if-eqz v0, :cond_a
const/4 v0, 0x1
:goto_9
return v0
:cond_a
const/4 v0, 0x0
goto :goto_9
.end method