吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 8482|回复: 79
收起左侧

[Android 原创] 某果果去广告后遗症闪退的解决

  [复制链接]
冥界3大法王 发表于 2020-8-17 20:19
本帖最后由 冥界3大法王 于 2020-8-18 09:39 编辑

根据论坛之前的帖子,我们搜索关键字定位到(那个贴子是说抓包,发现了一个html的标签是 播放视频的倒计时广告 。。。)
Screenshot_20200817_201204.jpg
接下来我们就到了关键的代码处
[Asm] 纯文本查看 复制代码
.method private a(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)V
    .registers 11
    .annotation system Ldalvik/annotation/Throws;
        value = {}
    .end annotation

    .prologue
    const/4 v7, 0x2

    const/4 v6, 0x1

    const/4 v0, 0x0

    const/4 v5, 0x0

    .line 130
    const-string v1, "Ad"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_16d

    .line 131
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getDepth()I

    move-result v1

    const/4 v2, 0x4

    if-ne v1, v2, :cond_76

    .line 133
    const-string v1, "type"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 134
    const-string v2, "t"

    invoke-interface {p2, v5, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 135
    const-string v3, "id"

    invoke-interface {p2, v5, v3}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    .line 136
    const-string v4, "float"

    invoke-virtual {v4, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_40

    .line 137
    new-instance v0, Lcom/mgmi/platform/view/a;

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v1

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    invoke-direct {v0, v6, v1, v2}, Lcom/mgmi/platform/view/a;-><init>(III)V

    .line 138
    iget-object v1, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/i;->a(Lcom/mgmi/platform/view/a;)V

    .line 568
    :cond_3f
    :goto_3f
    return-void

    .line 139
    :cond_40
    const-string v4, "mid"

    invoke-virtual {v4, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v4

    if-eqz v4, :cond_5b

    .line 140
    new-instance v1, Lcom/mgmi/platform/view/a;

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v3

    invoke-direct {v1, v0, v2, v3}, Lcom/mgmi/platform/view/a;-><init>(III)V

    .line 141
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->a(Lcom/mgmi/platform/view/a;)V

    goto :goto_3f

    .line 142
    :cond_5b
    const-string v0, "pause"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 143
    new-instance v0, Lcom/mgmi/platform/view/a;

    invoke-static {v2}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v1

    invoke-static {v3}, Ljava/lang/Integer;->parseInt(Ljava/lang/String;)I

    move-result v2

    invoke-direct {v0, v7, v1, v2}, Lcom/mgmi/platform/view/a;-><init>(III)V

    .line 144
    iget-object v1, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/i;->a(Lcom/mgmi/platform/view/a;)V

    goto :goto_3f

    .line 149
    :cond_76
    const-string v0, "type"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 150
    const-string v0, "skip"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 151
    const-string v0, "front"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-nez v0, :cond_92

    const-string v0, "pause"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_de                        把上面这里NOP掉,广告不就不执行了?d 

    .line 152
    :cond_92
    new-instance v0, Lcom/mgmi/model/d;

    invoke-direct {v0}, Lcom/mgmi/model/d;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    .line 153
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Ljava/lang/String;)V

    .line 154
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-static {v2}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v2

    invoke-virtual {v0, v2}, Lcom/mgmi/model/d;->a(I)V

    .line 156
    const-string v0, "expire"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 157
    invoke-static {v0}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_bc

    .line 159
    :try_start_b3
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-static {v0}, Ljava/lang/Long;->parseLong(Ljava/lang/String;)J

    move-result-wide v4

    invoke-virtual {v2, v4, v5}, Lcom/mgmi/model/d;->a(J)V
    :try_end_bc
    .catch Ljava/lang/NumberFormatException; {:try_start_b3 .. :try_end_bc} :catch_d2

    .line 165
    :cond_bc
    :goto_bc
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v2}, Lcom/mgmi/model/i;->a(Lcom/mgmi/model/d;)V

    .line 166
    const-string v0, "front"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 167
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-virtual {v0, v6}, Lcom/mgmi/model/i;->a(Z)V

    goto/16 :goto_3f

    .line 160
    :catch_d2
    move-exception v0

    .line 161
    invoke-virtual {v0}, Ljava/lang/NumberFormatException;->printStackTrace()V

    .line 162
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-wide/16 v2, 0x0

    invoke-virtual {v0, v2, v3}, Lcom/mgmi/model/d;->a(J)V

    goto :goto_bc

    .line 169
    :cond_de                                        ====》开始这里调用广告c
    const-string v0, "mid"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    .line 170
    new-instance v0, Lcom/mgmi/model/h;

    invoke-direct {v0}, Lcom/mgmi/model/h;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    .line 171
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Ljava/lang/String;)V

    .line 172
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    check-cast v0, Lcom/mgmi/model/h;

    iput-object v0, p0, Lcom/mgmi/e/a/a;->d:Lcom/mgmi/model/h;

    .line 173
    iget-object v0, p0, Lcom/mgmi/e/a/a;->d:Lcom/mgmi/model/h;

    const-string v1, "t"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/h;->z(Ljava/lang/String;)V

    .line 174
    iget-object v0, p0, Lcom/mgmi/e/a/a;->d:Lcom/mgmi/model/h;

    invoke-static {v2}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/h;->a(I)V

    .line 175
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->d:Lcom/mgmi/model/h;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->a(Lcom/mgmi/model/h;)V

    goto/16 :goto_3f

    .line 177
    const-string v0, "float"

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    .line 178
    new-instance v0, Lcom/mgmi/model/f;

    invoke-direct {v0}, Lcom/mgmi/model/f;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    .line 179
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Ljava/lang/String;)V

    .line 180
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    check-cast v0, Lcom/mgmi/model/f;

    iput-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    .line 181
    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    const-string v1, "t"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/f;->z(Ljava/lang/String;)V

    .line 183
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->a(Lcom/mgmi/model/f;)V

     

    .line 184
    const-string v0, "banner"                 ===>看这里!这里记作B

    invoke-virtual {v0, v1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 185
    new-instance v0, Lcom/mgmi/model/e;

    invoke-direct {v0}, Lcom/mgmi/model/e;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    .line 186
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Ljava/lang/String;)V

    .line 187
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    check-cast v0, Lcom/mgmi/model/e;

    iput-object v0, p0, Lcom/mgmi/e/a/a;->n:Lcom/mgmi/model/e;

    .line 188
    iget-object v0, p0, Lcom/mgmi/e/a/a;->n:Lcom/mgmi/model/e;

    const-string v1, "id"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/e;->y(Ljava/lang/String;)V

    .line 190
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->n:Lcom/mgmi/model/e;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->a(Lcom/mgmi/model/e;)V

    goto/16 :goto_3f

    .line 192
    :cond_16d
    const-string v1, "Impression"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_18d

    .line 193
    const-string v0, "sdk"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 195
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 196
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    .line 197
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 198
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v2, v0, v1}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 200
    :cond_18d
    const-string v1, "NonLinearAds"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_19e

    .line 202
    new-instance v0, Lcom/mgmi/model/a;

    invoke-direct {v0}, Lcom/mgmi/model/a;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    goto/16 :goto_3f

    .line 203
    :cond_19e
    const-string v1, "mASTAdTagURI" =================》先定位到这里记作A,向上看

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_1bf

    .line 204
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 205
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v0, :cond_3f

    .line 207
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v1, "google"

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->c(Ljava/lang/String;)V

    .line 208
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->b(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 211
    :cond_1bf
    const-string v1, "NonLinear"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_1ee

    .line 212
    new-instance v0, Lcom/mgmi/model/j;

    invoke-direct {v0}, Lcom/mgmi/model/j;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    .line 214
    iget-object v0, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    const-string v1, "width"

    .line 215
    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 214
    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/j;->a(I)V

    .line 216
    iget-object v0, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    const-string v1, "height"

    .line 217
    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 216
    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/j;->b(I)V

    goto/16 :goto_3f

    .line 218
    :cond_1ee
    const-string v1, "Tracking"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_3e8

    .line 219
    const-string v0, "event"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 220
    const-string v1, "sdk"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 222
    const-string v2, "skip"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_22d

    .line 224
    const-string v0, "skip"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 226
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 227
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v2

    .line 229
    iget-object v3, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v3, :cond_3f

    .line 230
    new-instance v3, Lcom/mgmi/net/bean/b;

    invoke-static {v0}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v0

    invoke-direct {v3, v0, v2}, Lcom/mgmi/net/bean/b;-><init>(ILjava/lang/String;)V

    .line 231
    if-eqz v3, :cond_3f

    .line 232
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v0, v1, v3}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Lcom/mgmi/net/bean/b;)V

    goto/16 :goto_3f

    .line 235
    :cond_22d
    const-string v2, "click"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_24a

    .line 236
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 237
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 238
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getDepth()I

    .line 239
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v1, :cond_3f

    .line 240
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->d(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 242
    :cond_24a
    const-string v2, "start"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_271

    .line 243
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 244
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 245
    iget-object v2, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v2, :cond_264

    .line 246
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->c(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 248
    :cond_264
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 249
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "start"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 253
    :cond_271
    const-string v2, "firstQuartile"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_28d

    .line 254
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 255
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 257
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 258
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "firstQuartile"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 261
    :cond_28d
    const-string v2, "midpoint"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2a9

    .line 262
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 263
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 265
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 266
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "midpoint"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 269
    :cond_2a9
    const-string v2, "thirdQuartile"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2c5

    .line 270
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 271
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 273
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 274
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "thirdQuartile"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 277
    :cond_2c5
    const-string v2, "complete"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2e1

    .line 278
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 279
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 281
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 282
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "complete"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 285
    :cond_2e1
    const-string v2, "err"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_2fd

    .line 286
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 287
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 288
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 289
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "err"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 292
    :cond_2fd
    const-string v2, "view"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_319

    .line 293
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 294
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 296
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 297
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "view"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 300
    :cond_319
    const-string v2, "fb"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_335

    .line 301
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 302
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 304
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 305
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "fb"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 308
    :cond_335
    const-string v2, "full"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_351

    .line 309
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 310
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 312
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 313
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "full"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 316
    :cond_351
    const-string v2, "mute"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_36d

    .line 317
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 318
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 320
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 321
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "mute"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 324
    :cond_36d
    const-string v2, "unmute"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_389

    .line 325
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 326
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 328
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 329
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "unmute"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 332
    :cond_389
    const-string v2, "landClose"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_3a5

    .line 333
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 334
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 336
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 337
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "landClose"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 340
    :cond_3a5
    const-string v2, "landClick"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v2

    if-eqz v2, :cond_3c1

    .line 341
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 342
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 344
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 345
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "landClick"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 348
    :cond_3c1
    const-string v2, "close"

    invoke-virtual {v2, v0}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 349
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 350
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 351
    iget-object v2, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v2, :cond_3db

    .line 352
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->e(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 354
    :cond_3db
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v2, :cond_3f

    .line 355
    iget-object v2, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    const-string v3, "close"

    invoke-virtual {v2, v1, v3, v0}, Lcom/mgmi/model/d;->a(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 360
    :cond_3e8
    const-string v1, "VideoClicks"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_3f9

    .line 362
    new-instance v0, Lcom/mgmi/model/a;

    invoke-direct {v0}, Lcom/mgmi/model/a;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    goto/16 :goto_3f

    .line 363
    :cond_3f9
    const-string v1, "ClickThrough"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_409

    const-string v1, "NonLinearClickThrough"

    .line 364
    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_43d

    .line 366
    :cond_409
    const-string v0, "external"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 367
    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    if-eqz v1, :cond_41c

    .line 368
    if-nez v0, :cond_417

    .line 369
    const-string v0, "0"

    .line 371
    :cond_417
    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/a;->a(Ljava/lang/String;)V

    .line 374
    :cond_41c
    const-string v0, "action"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 375
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_42b

    .line 376
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->w(Ljava/lang/String;)V

    .line 379
    :cond_42b
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 380
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 381
    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    if-eqz v1, :cond_3f

    .line 382
    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/a;->b(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 384
    :cond_43d
    const-string v1, "ClickTracking"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-nez v1, :cond_44d

    const-string v1, "NonLinearClickTracking"

    .line 385
    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_465

    .line 387
    :cond_44d
    const-string v0, "sdk"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 389
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 391
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    .line 392
    iget-object v2, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    if-eqz v2, :cond_3f

    .line 393
    iget-object v2, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    invoke-virtual {v2, v0, v1}, Lcom/mgmi/model/a;->a(Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 395
    :cond_465
    const-string v1, "Duration"

    invoke-virtual {v1, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v1

    if-eqz v1, :cond_4b8

    .line 396
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 397
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getDepth()I

    .line 399
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    .line 400
    invoke-static {v1}, Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z

    move-result v2

    if-nez v2, :cond_3f

    .line 401
    const-string v2, ":"

    invoke-virtual {v1, v2}, Ljava/lang/String;->split(Ljava/lang/String;)[Ljava/lang/String;

    move-result-object v1

    .line 402
    array-length v2, v1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_3f

    .line 405
    const/4 v2, 0x0

    :try_start_488
    aget-object v2, v1, v2

    invoke-static {v2}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v2

    mul-int/lit16 v2, v2, 0xe10

    const/4 v3, 0x1

    aget-object v3, v1, v3

    .line 406
    invoke-static {v3}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v3

    mul-int/lit8 v3, v3, 0x3c

    add-int/2addr v2, v3

    const/4 v3, 0x2

    aget-object v1, v1, v3

    .line 407
    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I
    :try_end_4a0
    .catch Ljava/lang/Exception; {:try_start_488 .. :try_end_4a0} :catch_76e

    move-result v0

    add-int/2addr v0, v2

    .line 412
    :goto_4a2
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v1, :cond_4ad

    .line 413
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->c(I)V

    goto/16 :goto_3f

    .line 415
    :cond_4ad
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 416
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->b(I)V

    goto/16 :goto_3f

    .line 421
    :cond_4b8
    const-string v0, "MediaFile"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_51e

    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v0, :cond_51e

    .line 422
    new-instance v0, Lcom/mgmi/model/g;

    invoke-direct {v0}, Lcom/mgmi/model/g;-><init>()V

    .line 423
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1}, Lcom/mgmi/model/d;->x()I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->a(I)V

    .line 424
    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->a(Lcom/mgmi/model/a;)V

    .line 425
    const-string v1, "delivery"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->c(Ljava/lang/String;)V

    .line 426
    const-string v1, "type"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->d(Ljava/lang/String;)V

    .line 427
    const-string v1, "width"

    .line 428
    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 427
    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    int-to-long v2, v1

    invoke-static {v2, v3}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->b(Ljava/math/BigInteger;)V

    .line 429
    const-string v1, "height"

    .line 430
    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 429
    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    int-to-long v2, v1

    invoke-static {v2, v3}, Ljava/math/BigInteger;->valueOf(J)Ljava/math/BigInteger;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->c(Ljava/math/BigInteger;)V

    .line 432
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 434
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/g;->a(Ljava/lang/String;)V

    .line 436
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->a(Lcom/mgmi/model/g;)V

    goto/16 :goto_3f

    .line 437
    :cond_51e
    const-string v0, "StaticResource"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_599

    .line 438
    const-string v0, "creativeType"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 439
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getDepth()I

    .line 440
    iget-object v1, p0, Lcom/mgmi/e/a/a;->k:Lcom/mgmi/model/b;

    if-eqz v1, :cond_546

    .line 441
    iget-object v1, p0, Lcom/mgmi/e/a/a;->k:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->f(Ljava/lang/String;)V

    .line 442
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 443
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 444
    iget-object v1, p0, Lcom/mgmi/e/a/a;->k:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->a(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 445
    :cond_546
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v1, :cond_55d

    .line 446
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->f(Ljava/lang/String;)V

    .line 447
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 448
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 449
    iget-object v1, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/b;->a(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 451
    :cond_55d
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    if-eqz v1, :cond_56d

    .line 452
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/j;->a(Ljava/lang/String;)V

    .line 453
    iget-object v0, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->f:Lcom/mgmi/model/a;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/j;->a(Lcom/mgmi/model/a;)V

    .line 456
    :cond_56d
    const-string v0, "style"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 457
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    if-eqz v1, :cond_57c

    .line 458
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/j;->c(Ljava/lang/String;)V

    .line 461
    :cond_57c
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 463
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 464
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    if-eqz v1, :cond_58c

    .line 465
    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/j;->b(Ljava/lang/String;)V

    .line 468
    :cond_58c
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v0, :cond_3f

    .line 469
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->g:Lcom/mgmi/model/j;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Lcom/mgmi/model/j;)V

    goto/16 :goto_3f

    .line 475
    :cond_599
    const-string v0, "Desc"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_5b3

    .line 476
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 478
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 479
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 480
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->v(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 482
    :cond_5b3
    const-string v0, "Advertiser"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_5cd

    .line 483
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 485
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 486
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 487
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->x(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 489
    :cond_5cd
    const-string v0, "Button"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_5ed

    .line 490
    iget-object v0, p0, Lcom/mgmi/e/a/a;->l:Lcom/mgmi/model/k;

    if-nez v0, :cond_3f

    .line 491
    new-instance v0, Lcom/mgmi/model/k;

    invoke-direct {v0}, Lcom/mgmi/model/k;-><init>()V

    iput-object v0, p0, Lcom/mgmi/e/a/a;->l:Lcom/mgmi/model/k;

    .line 492
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v0, :cond_3f

    .line 493
    iget-object v0, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    iget-object v1, p0, Lcom/mgmi/e/a/a;->l:Lcom/mgmi/model/k;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/d;->a(Lcom/mgmi/model/k;)V

    goto/16 :goto_3f

    .line 496
    :cond_5ed
    const-string v0, "Title"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_612

    .line 497
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 498
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 499
    iget-object v1, p0, Lcom/mgmi/e/a/a;->l:Lcom/mgmi/model/k;

    if-eqz v1, :cond_607

    .line 500
    iget-object v1, p0, Lcom/mgmi/e/a/a;->l:Lcom/mgmi/model/k;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/k;->a(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 501
    :cond_607
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 502
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->q(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 504
    :cond_612
    const-string v0, "Error"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_62c

    .line 505
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 507
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 508
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 509
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->r(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 511
    :cond_62c
    const-string v0, "AdLost"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_646

    .line 512
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 514
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 515
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    if-eqz v1, :cond_3f

    .line 516
    iget-object v1, p0, Lcom/mgmi/e/a/a;->c:Lcom/mgmi/model/d;

    invoke-virtual {v1, v0}, Lcom/mgmi/model/d;->t(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 518
    :cond_646
    const-string v0, "CreativeNetTimeout"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_660

    .line 519
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 520
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    .line 521
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    .line 520
    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->c(I)V

    goto/16 :goto_3f

    .line 522
    :cond_660
    const-string v0, "MidRollPreTime"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_67a

    .line 523
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 524
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    .line 525
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    .line 524
    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->d(I)V

    goto/16 :goto_3f

    .line 526
    :cond_67a
    const-string v0, "VipNoAd"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_694

    .line 527
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 528
    iget-object v0, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    .line 529
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    .line 528
    invoke-virtual {v0, v1}, Lcom/mgmi/model/i;->a(I)V

    goto/16 :goto_3f

    .line 530
    :cond_694
    const-string v0, "Position"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_6ed

    .line 531
    const-string v0, "close"

    invoke-interface {p2, v5, v0}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 532
    const-string v1, "left"

    invoke-interface {p2, v5, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v1

    .line 533
    const-string v2, "right"

    invoke-interface {p2, v5, v2}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v2

    .line 534
    const-string v3, "top"

    invoke-interface {p2, v5, v3}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    .line 535
    const-string v4, "bottom"

    invoke-interface {p2, v5, v4}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v4

    .line 536
    iget-object v5, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    if-eqz v5, :cond_3f

    .line 537
    iget-object v5, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v0}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v0

    invoke-virtual {v5, v0}, Lcom/mgmi/model/f;->d(I)V

    .line 538
    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v1}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/f;->e(I)V

    .line 539
    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v2}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/f;->f(I)V

    .line 540
    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v3}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/f;->h(I)V

    .line 541
    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v4}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v1

    invoke-virtual {v0, v1}, Lcom/mgmi/model/f;->g(I)V

    goto/16 :goto_3f

    .line 544
    :cond_6ed
    const-string v0, "RollTime"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_70b

    iget-object v0, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    if-eqz v0, :cond_70b

    .line 545
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 546
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v0

    .line 547
    iget-object v1, p0, Lcom/mgmi/e/a/a;->e:Lcom/mgmi/model/f;

    invoke-static {v0}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v0

    invoke-virtual {v1, v0}, Lcom/mgmi/model/f;->c(I)V

    goto/16 :goto_3f

    .line 548
    :cond_70b
    const-string v0, "Skippbility"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_73a

    .line 549
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 551
    const-string v0, "skip"

    const-string v1, "skip"

    invoke-interface {p2, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 552
    iget-object v1, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-static {v0}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v0

    invoke-virtual {v1, v0}, Lcom/mgmi/model/i;->e(I)V

    .line 554
    const-string v0, "skipafter"

    const-string v1, "skipafter"

    invoke-interface {p2, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 555
    iget-object v1, p0, Lcom/mgmi/e/a/a;->b:Lcom/mgmi/model/i;

    invoke-static {v0}, Lcom/mgmi/model/c;->a(Ljava/lang/String;)I

    move-result v0

    invoke-virtual {v1, v0}, Lcom/mgmi/model/i;->f(I)V

    goto/16 :goto_3f

    .line 556
    :cond_73a
    const-string v0, "Companion"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_747

    .line 557
    invoke-direct {p0, p2}, Lcom/mgmi/e/a/a;->b(Lorg/xmlpull/v1/XmlPullParser;)V

    goto/16 :goto_3f

    .line 558
    :cond_747
    const-string v0, "CompanionClickThrough"

    invoke-virtual {v0, p1}, Ljava/lang/String;->equals(Ljava/lang/Object;)Z

    move-result v0

    if-eqz v0, :cond_3f

    .line 559
    const-string v0, "external"

    const-string v1, "external"

    invoke-interface {p2, v0, v1}, Lorg/xmlpull/v1/XmlPullParser;->getAttributeValue(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    .line 561
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->next()I

    .line 562
    invoke-interface {p2}, Lorg/xmlpull/v1/XmlPullParser;->getText()Ljava/lang/String;

    move-result-object v1

    .line 563
    iget-object v2, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    if-eqz v2, :cond_3f

    .line 564
    iget-object v2, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v2, v0}, Lcom/mgmi/model/b;->h(Ljava/lang/String;)V

    .line 565
    iget-object v0, p0, Lcom/mgmi/e/a/a;->j:Lcom/mgmi/model/b;

    invoke-virtual {v0, v1}, Lcom/mgmi/model/b;->g(Ljava/lang/String;)V

    goto/16 :goto_3f

    .line 408
    :catch_76e
    move-exception v1

    goto/16 :goto_4a2
.end method


然后我们就去修改吧,修改之后发现最大的问题就是去广告成功了,程序倒计时播放 90秒的广告不见了。
但是程序一旦全屏的时候,程序就会闪退  或 退到 home active。拖动进度时也   会闪退  或 退到 home active
开始想了很多的弯路,什么找adlisten  / fullscreen/drag 进度条 ,home active等。。。  因为全屏后  触发的啊  ,是不是有签名校验呢  ? 试到 今天 已经是第三天了,还是没有参悟是怎么回事
还用过抓包工具httpcanary,广告过滤软件AdGuard,前者使用网络超时,然后广告竟然神奇的消失了(也想过,是不是模拟个超时的提示?搞个未联网的状态;后者当然也能成。
为了找广告 ,还用过 开发助手 找广告布局
之后突然转到 javascript代码 ,进行地毯式 研究  
Screenshot_20200817_201825.jpg
手机发贴,实在是不方便,截图两张,路径找了半天。。。
第一句好像是说调用xml 。。。然后 throw  不就是英文抛出的意思
然后有个{}  括起来一堆,关键是里边有个调用系统抛出异常的英文(当然我也试过干掉catch  :end部分)
然后我们一段一段看
调用ad 广告
然后后面又有跳过广告
宽  高
调用广告 。。。。什么广告丢失什么的。。。等一堆操作
对于不懂java的菜鸟,是不是看得热血沸腾啊?  
哪里是主攻的重点?   有的视频播放软件 广告 写在 进度条中,你不能直接把一大段代码全部删除,因为你的程序也崩溃了,或功能也不正常了
这点好像类似于windows上的程序传递 多个参数。你要么完整的传递合法合理的参数,自然全都ok;要么干净彻底的全部铲除掉危险的代码,但是这要做造成的危害还是很大的。
同时也用过 np管理器的注入功能,想查看一下输出log文件,但是注入修改的文件太多了,等了好长时间,调用点处的界面也没有打开,并且log文件有150M,手机提示内存不足。。
吐槽一下 np管理器,为啥注入功能不能局部注入给单个猜测的文件,或搜索出来的某个符合条件的文件列表中多个呢?
[Asm] 纯文本查看 复制代码
.method private a(Ljava/lang/String;Lorg/xmlpull/v1/XmlPullParser;)V
    .registers 11
    .annotation system Ldalvik/annotation/Throws;                  ====》最后灵机一动,发现只要把这行删除掉;因为调用系统,抛出异常;可能是这类的玩意 能让程序瞬间闪退吧。对安卓了解的知识还是太少了。
        value = {}
    .end annotation


这后面return-void即可,可完全删除掉
要是不放心呢,可以分几步测试和试验。
第一轮,先把上面那行( .annotation system Ldalvik/annotation/Throws;    干掉,然后打包,我们看到倒计时 90秒 广告 活得依然很潇洒,坚挺的活着。同时也证明后面的代码不会触发签名校验什么的

第二轮则是小范围修改 ,保存,测试 看效果 。(段落内)
要么有广告,要么没广告。
对了,前面还得加个定语,不闪退+有广告   或 不闪退+无广告  ;从现象来印证我们的猜想。

第三轮,上面这样的来修改就成功了。对于这次已经有了我们的经验之谈了,因为 我们是实践试验得出的结论。
Screenshot_20200817_204209.jpg

经测试,广告完美去掉了,拖动也正常了,经过几轮测试没啥问题了,困扰了三天的问题自己憋出来了答案。这样就不需要用网上别人修改好的加了360王八壳的版本了。

接下来 ,我们先存个档备份下。然后我们去干掉启动时的倒计时主页广告 。
先用开发助手,左下角第二行 的  界面元素 查看工具 得知mgmi_boot_ad(当然可以修改xml文件 0px,不过隐藏不如彻底没有)
然后我们搜索下在com.mgmi.ads.api.render     c 类中发现了   sget v2,Lcom/mgmi/b$i,->mgmi_boot_ad_view:I
上面几行处有个判断会 跳到此处,所以NOP  删除掉此行 就OK了。

最后修改清单文件,干掉侵犯用户隐私的权限, 比如 电话,通话记录,定位,相机,麦克风,联系人 你TN的实在是太不地道了。那用户的隐私去卖钱。这不正是今日百度头条里说的那个典型吗?
从开始要六个权限,到只要一个存储权限。

对了,还有一个升级,也得干掉 搜索checkupdate修改后发现没效果
于是再次使用  开发者助手   得知 07f10086f  r.id.btnOK是升级的按钮
所以搜索了下又发现com.mgtv.update.a    e           const v0,0x7f100086
然后在OnCreate里发现了三处调用方法,全部删除掉后,果然 启动 升级也没有了。
最后最后又发现一个新问题,如果在联网状态下启动会闪退;而如果先禁用手机网络进到界面里再wifi联上则闪退不会发生。这个还得再研究下,实在不行还得召唤师傅来解决。

然后再来总结下一个程序的程序流程:
1. 当点击app时,程序启动。加载主要界面布局通常是Home Active,加载过程中首先在OnCreate中调用一部分,这过程中有可能有加载广告的,加载升级检测的,自校验程序完整度的
2.当点击某个视频播放时,发包给网站,判断你是否登录了? 是不是vip用户? 没有就给返回个状态,看广告。反之呢,广告隐藏起来,很多app里都有HideAdView,我怀疑只要你来了咋样都得被利用。
3.当点用户界面中的登录地方时,付费购买,开通会员,登录登出这些都是切入和修改点
对于安卓程序的修改:
四处搜集情报是很重要的,比如清单文件,资源文件,xml文件,语言文件
然后了解布局和使用到了什么控件也是重要的一环,可以用到开发者助手,MT管理器查看当前运行的active
接下来是抓包分析网络隐藏中的信息
最后是注入代码+DDMS,查看日志
平时要多多搜集情报,观看类似的修改贴子,未解决的求助也是某种有启迪性的东东。多多记录安卓破解关键字,广告术语厂商列表,开发过程中用到的术语或英文关键字名称。
最好是做个分类列列的app,方便日后操作和修改。

免费评分

参与人数 25吾爱币 +24 热心值 +21 收起 理由
LDDNB + 1 用心讨论,共获提升!
独行风云 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
月光下的凡 + 1 用心讨论,共获提升!
louchen1994 + 1 + 1 我很赞同!
读过书 + 1 + 1 热心回复!
林进鸿 + 1 我很赞同!
19183311119 + 1 + 1 热心回复!
joeyFdo + 1 + 1 我很赞同!
dreamlivemeng + 1 + 1 --------
Lucifer_BW + 1 + 1 热心回复!
无意之过 + 1 + 1 热心回复!
kxkxy5505 + 1 + 1 谢谢@Thanks!
莫奇 + 1 + 1 用心讨论,共获提升!
无治 + 1 我很赞同!
xkwdm + 1 + 1 我的莫山主啊 https://www.52pojie.cn/thread-1248447-1-1.html
fei8255 + 1 + 1 谢谢@Thanks!
不要加香菜 + 1 + 1 热心回复!
52pojie341 + 1 + 1 我很赞同!
lfg1974 + 1 + 1 热心回复!
涛之雨 + 2 + 1 膜拜法王
阿言薇尔莉特 + 1 我很赞同!
smile5 + 1 热心回复!
lou.zhichen + 1 + 1 厉害!
钢铁侠_123 + 2 感谢发布原创作品,吾爱破解论坛因你更精彩!
伟大的泽尔 + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

hehaohw 发表于 2020-8-18 08:33
坚持不懈,有时过几天换个思路,一下就OK了,如果其他地方有数字王八壳,可以用反射大师脱了,看看大师是怎么改的,来个成品呀
正己 发表于 2020-8-17 20:50
bjxiaoyao 发表于 2020-8-17 21:07
lj800827 发表于 2020-8-17 21:11
哈哈看不懂,妹子厉害
痞子先生 发表于 2020-8-17 21:31
我感觉在看天书,我的个天啊

免费评分

参与人数 1热心值 +1 收起 理由
明灵珠 + 1 我很赞同!

查看全部评分

sder33 发表于 2020-8-17 22:18
真好多代码,感谢楼主分享
王兰花秀丽 发表于 2020-8-17 22:20
看不懂,慢慢学吧
sanchodon 发表于 2020-8-17 23:30
牛,广告看了我也买不起,何必看他!
ABC大叔 发表于 2020-8-17 23:40
学习学习,感谢分享,
waxxyaw 发表于 2020-8-18 06:27
厉害了,虽然不懂
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则 警告:本版块禁止灌水或回复与主题无关内容,违者重罚!

快速回复 收藏帖子 返回列表 搜索

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-4-18 21:35

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表