吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 20672|回复: 40
收起左侧

[Android 原创] 天天跑你妹 的破解教程

  [复制链接]
御剑 发表于 2014-4-26 14:17
本帖最后由 御剑 于 2014-4-26 15:28 编辑

【文章标题】: 天天跑你妹 的破解教程
【文章作者】: 御剑
【作者邮箱】: 408885352@qq.com
【作者主页】: 无
【作者QQ号】: 无
【软件名称】: 天天跑你妹
【下载地址】: http://pan.baidu.com/s/1gdmnaU3  为方便新手研究我就把这个版本上传百度网盘吧
【加壳方式】: 无
【编写语言】: JAVA
【使用工具】: ApkIDE
【软件介绍】: 【安卓游戏】没什么好介绍的...
【作者声明】: 只是技术交流,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】



我们先打开程序看看是否有可用信息...
1.jpg

我们发现点击购买后会提示:“支付失败。提示码:88087。”
然后我们用 ApkIDE 打开 天天跑你妹我们把“支付失败。提示码:88087。”转换为Unicode,然后搜索全部
2.jpg

如上图...我们搜索到了一条信息, 双击搜索的信息会来到了该函数
[Asm] 纯文本查看 复制代码
# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
    .locals 3

    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

    invoke-virtual {p0}, Lcom/uucun/smspay/activity/PayResultActivity;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    const-string v1, "payment_uucun_pay_result"

    const-string v2, "layout"

    invoke-static {v0, v1, v2}, Lcom/uucun/smspay/k/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/uucun/smspay/activity/PayResultActivity;->setContentView(I)V

    invoke-virtual {p0}, Lcom/uucun/smspay/activity/PayResultActivity;->getIntent()Landroid/content/Intent;

    move-result-object v0

    const-string v1, "result"

    invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    iget-object v0, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    if-eqz v0, :cond_1

    const-string v0, ""

    iget-object v1, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    const-string v2, "ok"

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

    move-result v1

    if-eqz v1, :cond_2

    const-string v0, "\u652f\u4ed8\u6210\u529f!"

    :cond_0
    :goto_0
    const/4 v1, 0x0

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    new-instance v0, Lcom/uucun/smspay/activity/k;

    invoke-direct {v0, p0}, Lcom/uucun/smspay/activity/k;-><init>(Lcom/uucun/smspay/activity/PayResultActivity;)V

    invoke-virtual {v0}, Lcom/uucun/smspay/activity/k;->start()V

    :cond_1
    return-void

    :cond_2
    iget-object v1, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    const-string v2, "failed"

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

    move-result v1

    if-eqz v1, :cond_0

    const-string v0, "\u652f\u4ed8\u5931\u8d25\u3002\u63d0\u793a\u7801\uff1a88087\u3002"

    goto :goto_0
.end method


我们转到JAVA源码看看
[Asm] 纯文本查看 复制代码
package com.uucun.smspay.activity;

import android.app.Activity;
import android.content.Intent;
import android.os.Bundle;
import android.widget.Toast;
import com.uucun.smspay.k.a;

public class PayResultActivity extends Activity
{
  private String a;

  public void onCreate(Bundle paramBundle)
  {
    super.onCreate(paramBundle);
    setContentView(a.a(getApplicationContext(), "payment_uucun_pay_result", "layout"));
    this.a = getIntent().getStringExtra("result");
    String str;
    if (this.a != null)
    {
      str = "";
      if (!this.a.equals("ok"))
        break label79;
      str = "支付成功!";
    }
    while (true)
    {
      Toast.makeText(this, str, 0).show();
      new k(this).start();
      return;
      label79: if (this.a.equals("failed"))
        str = "支付失败。提示码:88087。";
    }
  }
}


通过JAVA源码我们找到“支付成功!”提示 与之前游戏上提示的“支付失败。提示码:88087。”
我们来试下是否能通过修改判断来实现破解
[Asm] 纯文本查看 复制代码
# virtual methods
.method public onCreate(Landroid/os/Bundle;)V
    .locals 3

    invoke-super {p0, p1}, Landroid/app/Activity;->onCreate(Landroid/os/Bundle;)V

    invoke-virtual {p0}, Lcom/uucun/smspay/activity/PayResultActivity;->getApplicationContext()Landroid/content/Context;

    move-result-object v0

    const-string v1, "payment_uucun_pay_result"

    const-string v2, "layout"

    invoke-static {v0, v1, v2}, Lcom/uucun/smspay/k/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;)I

    move-result v0

    invoke-virtual {p0, v0}, Lcom/uucun/smspay/activity/PayResultActivity;->setContentView(I)V

    invoke-virtual {p0}, Lcom/uucun/smspay/activity/PayResultActivity;->getIntent()Landroid/content/Intent;

    move-result-object v0

    const-string v1, "result"

    invoke-virtual {v0, v1}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v0

    iput-object v0, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    iget-object v0, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    if-eqz v0, :cond_1

    const-string v0, ""

    iget-object v1, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    const-string v2, "ok"

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

    move-result v1

      //下面就是提示支付成功...那么我们肯定不能让他跳转 所以我们把 if-eqz v1, :cond_2这个判断删除试试

    const-string v0, "\u652f\u4ed8\u6210\u529f!"

    :cond_0
    :goto_0
    const/4 v1, 0x0

    invoke-static {p0, v0, v1}, Landroid/widget/Toast;->makeText(Landroid/content/Context;Ljava/lang/CharSequence;I)Landroid/widget/Toast;

    move-result-object v0

    invoke-virtual {v0}, Landroid/widget/Toast;->show()V

    new-instance v0, Lcom/uucun/smspay/activity/k;

    invoke-direct {v0, p0}, Lcom/uucun/smspay/activity/k;-><init>(Lcom/uucun/smspay/activity/PayResultActivity;)V

    invoke-virtual {v0}, Lcom/uucun/smspay/activity/k;->start()V

    :cond_1
    return-void

    :cond_2
    iget-object v1, p0, Lcom/uucun/smspay/activity/PayResultActivity;->a:Ljava/lang/String;

    const-string v2, "failed"

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

    move-result v1

    if-eqz v1, :cond_0

    const-string v0, "\u652f\u4ed8\u5931\u8d25\u3002\u63d0\u793a\u7801\uff1a88087\u3002"

    goto :goto_0
.end method

我们修改完代码后 重新编译,签名,出来测试下吧

我们发现修改后的程虽然会提示"支付成功!...但是我们所购买的道具并未到账...
那么我们所修改的函数很有可能只是用来调用提示支付成功与否的而已.

我们再想想...根据提示 还有信息可作为我们的突破点...
细心的童鞋肯定会发现那条支付失败的信息还给我们提供了一组 支付失败的提示码:88087
那么我们来搜索看看是否能通过这组提示码给我们带来有用信息~
5.jpg

我们搜索到了三条包含88087的信息,忽略我们之前修改过的第一条信息。
我们双击进入第二条搜索到的信息
[Asm] 纯文本查看 复制代码
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .locals 39

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->clearAbortBroadcast()V

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "request_code_test"

    move-object/from16 v0, p2

    invoke-virtual {v0, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->b(Ljava/lang/String;)Lcom/uucun/smspay/g/f;

    move-result-object v31

    if-nez v31, :cond_0

    :goto_0
    return-void

    :cond_0
    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->c(Ljava/lang/String;)V

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->h:Lcom/uucun/smspay/aidl/a;

    move-object/from16 v36, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->g:Lcom/uucun/smspay/g/e;

    move-object/from16 v37, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->i:Ljava/util/ArrayList;

    move-object/from16 v38, v0

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->getResultCode()I

    move-result v10

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\u77ed\u4fe1\u8fd4\u56de\u72b6\u6001:"

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    const-string v2, "onReceive getResultCode"

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, -0x1

    if-ne v10, v2, :cond_d

    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

    if-eqz v2, :cond_8

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_6

    const-string v2, "sendSuccessLog"

    const-string v3, "isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_5

    const/4 v9, 0x1

    :goto_1
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_1
    :goto_2
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v36, :cond_2

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_2

    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u901a\u77e5APP \u652f\u4ed8\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static/range {v36 .. v36}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;)V

    :cond_2
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_3

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_3
    if-eqz v38, :cond_c

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_4
    :goto_3
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_4

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x1

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    goto :goto_3

    :cond_5
    const/4 v9, 0x0

    goto :goto_1

    :cond_6
    const-string v2, "sendSuccessLog"

    const-string v3, "not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_1

    iget-object v3, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v4, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v5, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v6, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v7, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    iget-object v8, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    iget-object v9, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v27, v0

    iget-object v11, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v0, v37

    iget v12, v0, Lcom/uucun/smspay/g/e;->m:I

    invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v12

    move-object/from16 v0, v37

    iget-wide v13, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v13, v14}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v13

    move-object/from16 v0, v37

    iget-wide v14, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v14, v15}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v14

    const-string v15, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v16, v0

    const-string v17, "0"

    const-string v18, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v19, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v21, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v22, v0

    const/16 v23, -0x1

    move/from16 v0, v23

    if-ne v10, v0, :cond_7

    const-string v23, "1"

    :goto_4
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v24

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v25

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v26, v0

    move-object/from16 v2, p1

    move-object/from16 v10, v27

    invoke-static/range {v2 .. v26}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_2

    :cond_7
    const-string v23, "2"

    goto :goto_4

    :cond_8
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_a

    const-string v2, "sendSuccessLog"

    const-string v3, "not local isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_9

    const/4 v9, 0x1

    :goto_5
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_9
    const/4 v9, 0x0

    goto :goto_5

    :cond_a
    const-string v2, "sendSuccessLog"

    const-string v3, "not local not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_b

    const/4 v9, 0x1

    :goto_6
    const-string v11, "0"

    const-wide/16 v12, 0x0

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_b
    const/4 v9, 0x0

    goto :goto_6

    :cond_c
    const/4 v2, 0x1

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0

    :cond_d
    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

    if-eqz v2, :cond_17

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_15

    const-string v2, "sendFailLog"

    const-string v3, "\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_14

    const/4 v9, 0x1

    :goto_7
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_e
    :goto_8
    if-eqz v37, :cond_f

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    move-object/from16 v0, v37

    invoke-virtual {v2, v0}, Lcom/uucun/smspay/bz/a;->a(Lcom/uucun/smspay/g/e;)Z

    move-result v2

    const-string v3, "removeFeeModel ret is"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    :cond_f
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v36, :cond_10

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_10

    sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "SendSmsReceiver.onReceive() "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    const-string v2, "88087"

    const-string v3, "\u53d1\u9001\u9519\u8bef"

    move-object/from16 v0, v36

    invoke-static {v0, v2, v3}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;Ljava/lang/String;Ljava/lang/String;)V

    :cond_10
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_11

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_11
    const-string v3, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v2, "payCallbacks:"

    invoke-direct {v4, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-nez v38, :cond_1b

    const-string v2, "null"

    :goto_9
    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v38, :cond_12

    const-string v2, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "\u4e2a\u6570\u662f:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->size()I

    move-result v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_12
    if-eqz v38, :cond_1c

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_1c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_13
    :goto_a
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_1c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_13

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x0

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    const-string v2, "enter"

    const-string v4, "11111"

    invoke-static {v2, v4}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_a

    :cond_14
    const/4 v9, 0x0

    goto/16 :goto_7

    :cond_15
    const-string v2, "sendFailLog"

    const-string v3, "\u975e\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_e

    iget-object v12, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v13, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v14, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v15, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    move-object/from16 v16, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    move-object/from16 v17, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    move-object/from16 v18, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v19, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v37

    iget v3, v0, Lcom/uucun/smspay/g/e;->m:I

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

    move-result-object v21

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v22

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v23

    const-string v24, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v25, v0

    const-string v26, "0"

    const-string v27, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v28, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v29, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v30, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v31, v0

    const/4 v3, -0x1

    if-ne v10, v3, :cond_16

    const-string v32, "1"

    :goto_b
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v33

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v34

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v35, v0

    move-object/from16 v11, p1

    invoke-static/range {v11 .. v35}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_8

    :cond_16
    const-string v32, "2"

    goto :goto_b

    :cond_17
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_19

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_18

    const/4 v9, 0x1

    :goto_c
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_18
    const/4 v9, 0x0

    goto :goto_c

    :cond_19
    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_1a

    const/4 v9, 0x1

    :goto_d
    const-string v11, "0"

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_1a
    const/4 v9, 0x0

    goto :goto_d

    :cond_1b
    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->toString()Ljava/lang/String;

    move-result-object v2

    goto/16 :goto_9

    :cond_1c
    const/4 v2, 0x0

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0
.end method




我们再转到JAVA源码看看
[Asm] 纯文本查看 复制代码
package com.uucun.smspay.bz;

import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import android.os.Handler;
import android.os.Message;
import com.uucun.smspay.g.b;
import com.uucun.smspay.g.e;
import com.uucun.smspay.k.i;
import java.io.PrintStream;
import java.util.ArrayList;
import java.util.Iterator;

public class SendSmsReceiver extends BroadcastReceiver
{
  private static void a(Context paramContext, e parame)
  {
    com.uucun.smspay.g.c localc1 = parame.h;
    if (localc1.k == null)
      com.uucun.smspay.k.d.b("processSentResult", "feeTypeModels is null");
    label182: label751: label755: 
    while (true)
    {
      return;
      com.uucun.smspay.k.d.b("processSentResult", "feeTypeModels isn't null");
      parame.j = (1 + parame.j);
      ArrayList localArrayList1 = d.a();
      int i;
      if (!localc1.m)
        if (!parame.k)
        {
          if (parame.i)
            break label751;
          parame.k = true;
          com.uucun.smspay.g.c localc6 = new com.uucun.smspay.g.c();
          localc6.a = localc1.a;
          localc6.c = localc1.c;
          localc6.m = localc1.m;
          localc6.h = localc1.h;
          localc6.d = localc1.d;
          localc6.e = localc1.e;
          localc6.b = localc1.b;
          localc6.i = localc1.i;
          localc6.g = localc1.g;
          localc6.j = localc1.j;
          localc6.a(parame);
          localArrayList1.add(localc6);
          i = 1;
        }
      while (true)
      {
        if (i == 0)
          break label755;
        boolean bool1 = com.uucun.smspay.k.c.a(paramContext, "dataSec", "putback_sms");
        com.uucun.smspay.k.d.b("onSmsReceive deleteFile", bool1);
        ArrayList localArrayList2 = d.a();
        if (localArrayList2 != null)
          com.uucun.smspay.k.d.b("tempFeeInfos size: ", localArrayList2.size());
        if (localArrayList2.size() <= 0)
          break;
        Iterator localIterator2 = localArrayList2.iterator();
        while (true)
          if (localIterator2.hasNext())
          {
            com.uucun.smspay.g.c localc2 = (com.uucun.smspay.g.c)localIterator2.next();
            com.uucun.smspay.k.d.b("feeInfo1", "size:" + localc2.k.size());
            continue;
            if ((parame.i) || (parame.j == 3))
            {
              Iterator localIterator4 = localArrayList1.iterator();
              Object localObject2 = null;
              while (true)
              {
                if (!localIterator4.hasNext())
                  break label421;
                com.uucun.smspay.g.c localc5 = (com.uucun.smspay.g.c)localIterator4.next();
                ArrayList localArrayList4 = localc5.k;
                Iterator localIterator5 = localArrayList4.iterator();
                if (localIterator5.hasNext())
                {
                  e locale2 = (e)localIterator5.next();
                  if (locale2 != parame)
                    break;
                  localArrayList4.remove(locale2);
                  localObject2 = localc5;
                }
              }
              if ((localObject2 != null) && (localObject2.k.size() == 0))
                localArrayList1.remove(localObject2);
              i = 1;
              break label182;
            }
            i = 1;
            break label182;
            if (!parame.k)
            {
              if (parame.i)
                break label751;
              parame.k = true;
              com.uucun.smspay.g.c localc4 = new com.uucun.smspay.g.c();
              localc4.a = localc1.a;
              localc4.c = localc1.c;
              localc4.m = localc1.m;
              localc4.h = localc1.h;
              localc4.d = localc1.d;
              localc4.e = localc1.e;
              localc4.b = localc1.b;
              localc4.i = localc1.i;
              localc4.g = localc1.g;
              localc4.j = localc1.j;
              localc4.a(parame);
              localArrayList1.add(localc4);
              break;
            }
            if ((!parame.i) && (parame.j != 3))
              break;
            Iterator localIterator1 = localArrayList1.iterator();
            Object localObject1 = null;
            while (true)
            {
              if (!localIterator1.hasNext())
                break label693;
              com.uucun.smspay.g.c localc3 = (com.uucun.smspay.g.c)localIterator1.next();
              ArrayList localArrayList3 = localc3.k;
              Iterator localIterator3 = localArrayList3.iterator();
              if (localIterator3.hasNext())
              {
                e locale1 = (e)localIterator3.next();
                if (locale1 != parame)
                  break;
                localArrayList3.remove(locale1);
                localObject1 = localc3;
              }
            }
            if ((localObject1 != null) && (localObject1.k.size() == 0))
              localArrayList1.remove(localObject1);
            i = 1;
            break label182;
          }
        boolean bool2 = com.uucun.smspay.j.c.a(paramContext, localArrayList2);
        com.uucun.smspay.k.d.b("onSmsReceive serialize2File", bool2);
        return;
        i = 0;
      }
    }
  }

  public void onReceive(Context paramContext, Intent paramIntent)
  {
    clearAbortBroadcast();
    String str1 = paramIntent.getStringExtra("request_code_test");
    com.uucun.smspay.g.f localf = a.a().b(str1);
    if (localf == null)
      return;
    a.a().c(str1);
    com.uucun.smspay.aidl.a locala = localf.h;
    e locale = localf.g;
    ArrayList localArrayList = localf.i;
    int i = getResultCode();
    new StringBuilder("短信返回状态:").append(i).toString();
    com.uucun.smspay.k.d.b("onReceive getResultCode", i);
    if (i == -1)
    {
      com.uucun.smspay.k.d.b("SendSmsReceiver:onReceive", "发送短信成功");
      com.uucun.smspay.k.l.a = true;
      if (locale.h.m)
      {
        boolean bool7;
        if (locale.k)
        {
          com.uucun.smspay.k.d.b("sendSuccessLog", "isPutbackSMS");
          String str63 = localf.e;
          String str64 = localf.f;
          String str65 = localf.c;
          String str66 = localf.d;
          if (i == -1)
          {
            bool7 = true;
            com.uucun.smspay.a.f.a(paramContext, "localaddmo", "0", str63, str64, str65, str66, bool7, i, String.valueOf(1 + locale.j), locale.l);
          }
        }
        b localb2;
        do
        {
          com.uucun.smspay.k.d.b("SendSmsReceiver onReceive", "isPutbackSMS:" + locale.k);
          if ((locala != null) && (!locale.k))
          {
            com.uucun.smspay.k.d.b("SendSmsReceiver:onReceive", "通知APP 支付成功");
            i.a(locala);
          }
          if (locale.k)
            com.uucun.smspay.k.d.b("补发的短信", "不需要回调CP发送成功");
          if ((localArrayList == null) || (locale.k))
            break label791;
          Iterator localIterator2 = localArrayList.iterator();
          while (localIterator2.hasNext())
          {
            Object localObject2 = localIterator2.next();
            if ((localObject2 instanceof Handler))
            {
              Message localMessage2 = Message.obtain((Handler)localObject2);
              localMessage2.what = 1;
              localMessage2.sendToTarget();
            }
          }
          bool7 = false;
          break;
          com.uucun.smspay.k.d.b("sendSuccessLog", "not isPutbackSMS");
          localb2 = locale.h.o;
        }
        while (localb2 == null);
        String str45 = localb2.a;
        String str46 = localb2.b;
        String str47 = localb2.c;
        String str48 = localb2.d;
        String str49 = localb2.e;
        String str50 = localb2.f;
        String str51 = localb2.g;
        String str52 = localb2.i;
        String str53 = localb2.h;
        String str54 = String.valueOf(locale.m);
        String str55 = String.valueOf(locale.l);
        String str56 = String.valueOf(locale.l);
        String str57 = locale.r;
        String str58 = localf.e;
        String str59 = localf.f;
        String str60 = localf.c;
        String str61 = localf.d;
        if (i == -1);
        for (String str62 = "1"; ; str62 = "2")
        {
          com.uucun.smspay.a.f.a(paramContext, str45, str46, str47, str48, str49, str50, str51, str52, str53, str54, str55, str56, "0", str57, "0", "localmo", str58, str59, str60, str61, str62, String.valueOf(i), com.uucun.smspay.k.a.a(), localb2.k);
          break;
        }
      }
      if (locale.k)
      {
        com.uucun.smspay.k.d.b("sendSuccessLog", "not local isPutbackSMS");
        String str40 = localf.b;
        String str41 = localf.e;
        String str42 = localf.f;
        String str43 = localf.c;
        String str44 = localf.d;
        if (i == -1);
        for (boolean bool6 = true; ; bool6 = false)
        {
          com.uucun.smspay.a.f.a(paramContext, "addmo", str40, str41, str42, str43, str44, bool6, i, String.valueOf(1 + locale.j), locale.l);
          break;
        }
      }
      com.uucun.smspay.k.d.b("sendSuccessLog", "not local not isPutbackSMS");
      String str35 = localf.b;
      String str36 = localf.e;
      String str37 = localf.f;
      String str38 = localf.c;
      String str39 = localf.d;
      if (i == -1);
      for (boolean bool5 = true; ; bool5 = false)
      {
        com.uucun.smspay.a.f.a(paramContext, "mo", str35, str36, str37, str38, str39, bool5, i, "0", 0L);
        break;
      }
      label791: locale.i = true;
      a(paramContext, locale);
      return;
    }
    com.uucun.smspay.k.d.b("SendSmsReceiver:onReceive", "发送短信失败");
    com.uucun.smspay.k.l.a = true;
    boolean bool4;
    label927: StringBuilder localStringBuilder;
    if (locale.h.m)
      if (locale.k)
      {
        com.uucun.smspay.k.d.b("sendFailLog", "补发短信");
        if (1 + locale.j == 3)
        {
          String str31 = localf.e;
          String str32 = localf.f;
          String str33 = localf.c;
          String str34 = localf.d;
          if (i == -1)
          {
            bool4 = true;
            com.uucun.smspay.a.f.a(paramContext, "localaddmo", "0", str31, str32, str33, str34, bool4, i, String.valueOf(1 + locale.j), locale.l);
          }
        }
        else
        {
          if (locale != null)
          {
            a.a().c();
            boolean bool2 = a.a().a(locale);
            com.uucun.smspay.k.d.b("removeFeeModel ret is", bool2);
            a.a().c();
          }
          com.uucun.smspay.k.d.b("SendSmsReceiver onReceive", "isPutbackSMS:" + locale.k);
          if ((locala != null) && (!locale.k))
          {
            System.out.println("SendSmsReceiver.onReceive() " + i);
            i.a(locala, "88087", "发送错误");
          }
          if (locale.k)
            com.uucun.smspay.k.d.b("补发的短信", "不需要回调CP发送失败");
          localStringBuilder = new StringBuilder("payCallbacks:");
          if (localArrayList != null)
            break label1643;
        }
      }
    label1643: for (String str7 = "null"; ; str7 = localArrayList.toString())
    {
      com.uucun.smspay.k.d.b("回调函数:", str7);
      if (localArrayList != null)
        com.uucun.smspay.k.d.b("回调函数:", "个数是:" + localArrayList.size());
      if ((localArrayList == null) || (locale.k))
        break label1653;
      Iterator localIterator1 = localArrayList.iterator();
      while (localIterator1.hasNext())
      {
        Object localObject1 = localIterator1.next();
        if ((localObject1 instanceof Handler))
        {
          Message localMessage1 = Message.obtain((Handler)localObject1);
          localMessage1.what = 0;
          localMessage1.sendToTarget();
          com.uucun.smspay.k.d.b("enter", "11111");
        }
      }
      bool4 = false;
      break;
      com.uucun.smspay.k.d.b("sendFailLog", "非补发短信");
      b localb1 = locale.h.o;
      if (localb1 == null)
        break label927;
      String str13 = localb1.a;
      String str14 = localb1.b;
      String str15 = localb1.c;
      String str16 = localb1.d;
      String str17 = localb1.e;
      String str18 = localb1.f;
      String str19 = localb1.g;
      String str20 = localb1.i;
      String str21 = localb1.h;
      String str22 = String.valueOf(locale.m);
      String str23 = String.valueOf(locale.l);
      String str24 = String.valueOf(locale.l);
      String str25 = locale.r;
      String str26 = localf.e;
      String str27 = localf.f;
      String str28 = localf.c;
      String str29 = localf.d;
      if (i == -1);
      for (String str30 = "1"; ; str30 = "2")
      {
        com.uucun.smspay.a.f.a(paramContext, str13, str14, str15, str16, str17, str18, str19, str20, str21, str22, str23, str24, "0", str25, "0", "localmo", str26, str27, str28, str29, str30, String.valueOf(i), com.uucun.smspay.k.a.a(), localb1.k);
        break;
      }
      if (locale.k)
      {
        if (1 + locale.j != 3)
          break label927;
        String str8 = localf.b;
        String str9 = localf.e;
        String str10 = localf.f;
        String str11 = localf.c;
        String str12 = localf.d;
        if (i == -1);
        for (boolean bool3 = true; ; bool3 = false)
        {
          com.uucun.smspay.a.f.a(paramContext, "addmo", str8, str9, str10, str11, str12, bool3, i, String.valueOf(1 + locale.j), locale.l);
          break;
        }
      }
      String str2 = localf.b;
      String str3 = localf.e;
      String str4 = localf.f;
      String str5 = localf.c;
      String str6 = localf.d;
      if (i == -1);
      for (boolean bool1 = true; ; bool1 = false)
      {
        com.uucun.smspay.a.f.a(paramContext, "mo", str2, str3, str4, str5, str6, bool1, i, "0", locale.l);
        break;
      }
    }
    label1653: locale.i = false;
    a(paramContext, locale);
  }
}


转到JAVA源码后很轻易的就看到了我们想要的信息了...有点小激动.0.0.
下面我们对源码进行简单分析下

[Asm] 纯文本查看 复制代码
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .locals 39

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->clearAbortBroadcast()V

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "request_code_test"

    move-object/from16 v0, p2

    invoke-virtual {v0, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->b(Ljava/lang/String;)Lcom/uucun/smspay/g/f;

    move-result-object v31

    if-nez v31, :cond_0  //判断是否进入支付验证 如是则跳转到:cond_0 否则返回

    :goto_0
    return-void

    :cond_0
    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->c(Ljava/lang/String;)V

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->h:Lcom/uucun/smspay/aidl/a;

    move-object/from16 v36, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->g:Lcom/uucun/smspay/g/e;

    move-object/from16 v37, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->i:Ljava/util/ArrayList;

    move-object/from16 v38, v0

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->getResultCode()I

    move-result v10

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\u77ed\u4fe1\u8fd4\u56de\u72b6\u6001:"//短信返回状态:

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    const-string v2, "onReceive getResultCode"

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, -0x1

    if-ne v10, v2, :cond_d  //判断短信是否发送成功  如发送失败则跳转到:cond_d

    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

    if-eqz v2, :cond_8 //再次验证短信发送状态

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_6 //第三次验证短信发送状态

    const-string v2, "sendSuccessLog"

    const-string v3, "isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_5 //第四次验证短信发送状态

    const/4 v9, 0x1

    :goto_1
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_1
    :goto_2
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v36, :cond_2  //第五次验证短信发送状态

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_2  //关键 第六次验证短信发送状态   如成功则往下执行 通知APP 支付成功  (只要通知APP 支付成功那么我们就破解成功了)

    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u901a\u77e5APP \u652f\u4ed8\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static/range {v36 .. v36}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;)V

    :cond_2
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_3  //第七次验证短信发送状态  如成功则跳转到:cond_3 如失败则补发短信

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_3
    if-eqz v38, :cond_c //第八次验证短信发送状态 ...

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_4
    :goto_3
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_c  

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_4

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x1

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    goto :goto_3

    :cond_5
    const/4 v9, 0x0

    goto :goto_1

    :cond_6
    const-string v2, "sendSuccessLog"

    const-string v3, "not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_1

    iget-object v3, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v4, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v5, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v6, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v7, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    iget-object v8, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    iget-object v9, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v27, v0

    iget-object v11, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v0, v37

    iget v12, v0, Lcom/uucun/smspay/g/e;->m:I

    invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v12

    move-object/from16 v0, v37

    iget-wide v13, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v13, v14}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v13

    move-object/from16 v0, v37

    iget-wide v14, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v14, v15}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v14

    const-string v15, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v16, v0

    const-string v17, "0"

    const-string v18, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v19, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v21, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v22, v0

    const/16 v23, -0x1

    move/from16 v0, v23

    if-ne v10, v0, :cond_7

    const-string v23, "1"

    :goto_4
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v24

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v25

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v26, v0

    move-object/from16 v2, p1

    move-object/from16 v10, v27

    invoke-static/range {v2 .. v26}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_2

    :cond_7
    const-string v23, "2"

    goto :goto_4

    :cond_8
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_a

    const-string v2, "sendSuccessLog"

    const-string v3, "not local isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_9

    const/4 v9, 0x1

    :goto_5
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_9
    const/4 v9, 0x0

    goto :goto_5

    :cond_a
    const-string v2, "sendSuccessLog"

    const-string v3, "not local not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_b

    const/4 v9, 0x1

    :goto_6
    const-string v11, "0"

    const-wide/16 v12, 0x0

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_b
    const/4 v9, 0x0

    goto :goto_6

    :cond_c
    const/4 v2, 0x1

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0

    :cond_d
    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

    if-eqz v2, :cond_17

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_15

    const-string v2, "sendFailLog"

    const-string v3, "\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_14

    const/4 v9, 0x1

    :goto_7
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_e
    :goto_8
    if-eqz v37, :cond_f

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    move-object/from16 v0, v37

    invoke-virtual {v2, v0}, Lcom/uucun/smspay/bz/a;->a(Lcom/uucun/smspay/g/e;)Z

    move-result v2

    const-string v3, "removeFeeModel ret is"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    :cond_f
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v36, :cond_10

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_10

    sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "SendSmsReceiver.onReceive() "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    const-string v2, "88087"

    const-string v3, "\u53d1\u9001\u9519\u8bef"

    move-object/from16 v0, v36

    invoke-static {v0, v2, v3}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;Ljava/lang/String;Ljava/lang/String;)V

    :cond_10
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_11

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_11
    const-string v3, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v2, "payCallbacks:"

    invoke-direct {v4, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-nez v38, :cond_1b

    const-string v2, "null"

    :goto_9
    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v38, :cond_12

    const-string v2, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "\u4e2a\u6570\u662f:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->size()I

    move-result v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_12
    if-eqz v38, :cond_1c

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_1c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_13
    :goto_a
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_1c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_13

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x0

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    const-string v2, "enter"

    const-string v4, "11111"

    invoke-static {v2, v4}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_a

    :cond_14
    const/4 v9, 0x0

    goto/16 :goto_7

    :cond_15
    const-string v2, "sendFailLog"

    const-string v3, "\u975e\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_e

    iget-object v12, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v13, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v14, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v15, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    move-object/from16 v16, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    move-object/from16 v17, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    move-object/from16 v18, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v19, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v37

    iget v3, v0, Lcom/uucun/smspay/g/e;->m:I

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

    move-result-object v21

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v22

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v23

    const-string v24, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v25, v0

    const-string v26, "0"

    const-string v27, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v28, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v29, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v30, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v31, v0

    const/4 v3, -0x1

    if-ne v10, v3, :cond_16

    const-string v32, "1"

    :goto_b
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v33

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v34

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v35, v0

    move-object/from16 v11, p1

    invoke-static/range {v11 .. v35}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_8

    :cond_16
    const-string v32, "2"

    goto :goto_b

    :cond_17
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_19

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_18

    const/4 v9, 0x1

    :goto_c
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_18
    const/4 v9, 0x0

    goto :goto_c

    :cond_19
    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_1a

    const/4 v9, 0x1

    :goto_d
    const-string v11, "0"

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_1a
    const/4 v9, 0x0

    goto :goto_d

    :cond_1b
    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->toString()Ljava/lang/String;

    move-result-object v2

    goto/16 :goto_9

    :cond_1c
    const/4 v2, 0x0

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0
.end method


经过大概的分析后,现在我们开始进破解吧。
我们只要不让前面的六次验证短信发送状态 的跳转实现即可 !
[Asm] 纯文本查看 复制代码
# virtual methods
.method public onReceive(Landroid/content/Context;Landroid/content/Intent;)V
    .locals 39

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->clearAbortBroadcast()V

    new-instance v2, Ljava/lang/StringBuilder;

    invoke-direct {v2}, Ljava/lang/StringBuilder;-><init>()V

    const-string v3, "request_code_test"

    move-object/from16 v0, p2

    invoke-virtual {v0, v3}, Landroid/content/Intent;->getStringExtra(Ljava/lang/String;)Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->b(Ljava/lang/String;)Lcom/uucun/smspay/g/f;

    move-result-object v31

    if-nez v31, :cond_0  //判断是否进入支付验证 如是则跳转到:cond_0 否则返回

    :goto_0
    return-void

    :cond_0
    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v3

    invoke-virtual {v3, v2}, Lcom/uucun/smspay/bz/a;->c(Ljava/lang/String;)V

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->h:Lcom/uucun/smspay/aidl/a;

    move-object/from16 v36, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->g:Lcom/uucun/smspay/g/e;

    move-object/from16 v37, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->i:Ljava/util/ArrayList;

    move-object/from16 v38, v0

    invoke-virtual/range {p0 .. p0}, Lcom/uucun/smspay/bz/SendSmsReceiver;->getResultCode()I

    move-result v10

    new-instance v2, Ljava/lang/StringBuilder;

    const-string v3, "\u77ed\u4fe1\u8fd4\u56de\u72b6\u6001:"//短信返回状态:

    invoke-direct {v2, v3}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v2, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    const-string v2, "onReceive getResultCode"

    new-instance v3, Ljava/lang/StringBuilder;

    invoke-direct {v3}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, -0x1

                             //判断短信是否发送成功  如发送失败则跳转到:cond_d
                                //往下执行则发送成功 所以把if-ne v10, v2, :cond_d 这个判断删除

    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

                          //再次验证短信发送状态
                              //往下执行则发送成功 所以把if-eqz v2, :cond_8 这个判断删除

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

                         //第三次验证短信发送状态
                                //往下执行则发送成功 所以把if-eqz v2, :cond_6 这个判断删除

    const-string v2, "sendSuccessLog"

    const-string v3, "isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

                           //第四次验证短信发送状态
                                  //往下执行则发送成功 所以把if-ne v10, v2, :cond_5 这个判断删除
        
    const/4 v9, 0x1

    :goto_1
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_1
    :goto_2
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

                         //第五次验证短信发送状态
                             //往下执行则发送成功 所以把if-eqz v36, :cond_2 这个判断删除
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

                        //关键 第六次验证短信发送状态   如成功则往下执行 通知APP 支付成功  (只要通知APP 支付成功那么我们就破解成功了)
                        //只要通知APP 支付成功那么我们就破解成功了 所以我们也不能让if-nez v2, :cond_2这个判断实现
    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u901a\u77e5APP \u652f\u4ed8\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static/range {v36 .. v36}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;)V

    :cond_2
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_3  //第七次验证短信发送状态  如成功则跳转到:cond_3 如失败则补发短信

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u6210\u529f"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_3
    if-eqz v38, :cond_c //第八次验证短信发送状态 ...

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_4
    :goto_3
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_c  

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_4

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x1

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    goto :goto_3

    :cond_5
    const/4 v9, 0x0

    goto :goto_1

    :cond_6
    const-string v2, "sendSuccessLog"

    const-string v3, "not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_1

    iget-object v3, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v4, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v5, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v6, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v7, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    iget-object v8, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    iget-object v9, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v27, v0

    iget-object v11, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v0, v37

    iget v12, v0, Lcom/uucun/smspay/g/e;->m:I

    invoke-static {v12}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v12

    move-object/from16 v0, v37

    iget-wide v13, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v13, v14}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v13

    move-object/from16 v0, v37

    iget-wide v14, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v14, v15}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v14

    const-string v15, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v16, v0

    const-string v17, "0"

    const-string v18, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v19, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v21, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v22, v0

    const/16 v23, -0x1

    move/from16 v0, v23

    if-ne v10, v0, :cond_7

    const-string v23, "1"

    :goto_4
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v24

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v25

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v26, v0

    move-object/from16 v2, p1

    move-object/from16 v10, v27

    invoke-static/range {v2 .. v26}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_2

    :cond_7
    const-string v23, "2"

    goto :goto_4

    :cond_8
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_a

    const-string v2, "sendSuccessLog"

    const-string v3, "not local isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_9

    const/4 v9, 0x1

    :goto_5
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_9
    const/4 v9, 0x0

    goto :goto_5

    :cond_a
    const-string v2, "sendSuccessLog"

    const-string v3, "not local not isPutbackSMS"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_b

    const/4 v9, 0x1

    :goto_6
    const-string v11, "0"

    const-wide/16 v12, 0x0

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_2

    :cond_b
    const/4 v9, 0x0

    goto :goto_6

    :cond_c
    const/4 v2, 0x1

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0

    :cond_d
    const-string v2, "SendSmsReceiver:onReceive"

    const-string v3, "\u53d1\u9001\u77ed\u4fe1\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    const/4 v2, 0x1

    sput-boolean v2, Lcom/uucun/smspay/k/l;->a:Z

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-boolean v2, v2, Lcom/uucun/smspay/g/c;->m:Z

    if-eqz v2, :cond_17

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_15

    const-string v2, "sendFailLog"

    const-string v3, "\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "localaddmo"

    const-string v4, "0"

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_14

    const/4 v9, 0x1

    :goto_7
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    :cond_e
    :goto_8
    if-eqz v37, :cond_f

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    move-object/from16 v0, v37

    invoke-virtual {v2, v0}, Lcom/uucun/smspay/bz/a;->a(Lcom/uucun/smspay/g/e;)Z

    move-result v2

    const-string v3, "removeFeeModel ret is"

    new-instance v4, Ljava/lang/StringBuilder;

    invoke-direct {v4}, Ljava/lang/StringBuilder;-><init>()V

    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    invoke-static {}, Lcom/uucun/smspay/bz/a;->a()Lcom/uucun/smspay/bz/a;

    move-result-object v2

    invoke-virtual {v2}, Lcom/uucun/smspay/bz/a;->c()V

    :cond_f
    const-string v2, "SendSmsReceiver onReceive"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "isPutbackSMS:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-boolean v4, v0, Lcom/uucun/smspay/g/e;->k:Z

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(Z)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v36, :cond_10

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_10

    sget-object v2, Ljava/lang/System;->out:Ljava/io/PrintStream;

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "SendSmsReceiver.onReceive() "

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual {v3, v10}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-virtual {v2, v3}, Ljava/io/PrintStream;->println(Ljava/lang/String;)V

    const-string v2, "88087"

    const-string v3, "\u53d1\u9001\u9519\u8bef"

    move-object/from16 v0, v36

    invoke-static {v0, v2, v3}, Lcom/uucun/smspay/k/i;->a(Lcom/uucun/smspay/aidl/a;Ljava/lang/String;Ljava/lang/String;)V

    :cond_10
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_11

    const-string v2, "\u8865\u53d1\u7684\u77ed\u4fe1"

    const-string v3, "\u4e0d\u9700\u8981\u56de\u8c03CP\u53d1\u9001\u5931\u8d25"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_11
    const-string v3, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v4, Ljava/lang/StringBuilder;

    const-string v2, "payCallbacks:"

    invoke-direct {v4, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    if-nez v38, :cond_1b

    const-string v2, "null"

    :goto_9
    invoke-virtual {v4, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;

    move-result-object v2

    invoke-virtual {v2}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v2

    invoke-static {v3, v2}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    if-eqz v38, :cond_12

    const-string v2, "\u56de\u8c03\u51fd\u6570\uff1a"

    new-instance v3, Ljava/lang/StringBuilder;

    const-string v4, "\u4e2a\u6570\u662f:"

    invoke-direct {v3, v4}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->size()I

    move-result v4

    invoke-virtual {v3, v4}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;

    move-result-object v3

    invoke-virtual {v3}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;

    move-result-object v3

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    :cond_12
    if-eqz v38, :cond_1c

    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-nez v2, :cond_1c

    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->iterator()Ljava/util/Iterator;

    move-result-object v3

    :cond_13
    :goto_a
    invoke-interface {v3}, Ljava/util/Iterator;->hasNext()Z

    move-result v2

    if-eqz v2, :cond_1c

    invoke-interface {v3}, Ljava/util/Iterator;->next()Ljava/lang/Object;

    move-result-object v2

    instance-of v4, v2, Landroid/os/Handler;

    if-eqz v4, :cond_13

    check-cast v2, Landroid/os/Handler;

    invoke-static {v2}, Landroid/os/Message;->obtain(Landroid/os/Handler;)Landroid/os/Message;

    move-result-object v2

    const/4 v4, 0x0

    iput v4, v2, Landroid/os/Message;->what:I

    invoke-virtual {v2}, Landroid/os/Message;->sendToTarget()V

    const-string v2, "enter"

    const-string v4, "11111"

    invoke-static {v2, v4}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    goto :goto_a

    :cond_14
    const/4 v9, 0x0

    goto/16 :goto_7

    :cond_15
    const-string v2, "sendFailLog"

    const-string v3, "\u975e\u8865\u53d1\u77ed\u4fe1"

    invoke-static {v2, v3}, Lcom/uucun/smspay/k/d;->b(Ljava/lang/String;Ljava/lang/String;)V

    move-object/from16 v0, v37

    iget-object v2, v0, Lcom/uucun/smspay/g/e;->h:Lcom/uucun/smspay/g/c;

    iget-object v2, v2, Lcom/uucun/smspay/g/c;->o:Lcom/uucun/smspay/g/b;

    if-eqz v2, :cond_e

    iget-object v12, v2, Lcom/uucun/smspay/g/b;->a:Ljava/lang/String;

    iget-object v13, v2, Lcom/uucun/smspay/g/b;->b:Ljava/lang/String;

    iget-object v14, v2, Lcom/uucun/smspay/g/b;->c:Ljava/lang/String;

    iget-object v15, v2, Lcom/uucun/smspay/g/b;->d:Ljava/lang/String;

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->e:Ljava/lang/String;

    move-object/from16 v16, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->f:Ljava/lang/String;

    move-object/from16 v17, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->g:Ljava/lang/String;

    move-object/from16 v18, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->i:Ljava/lang/String;

    move-object/from16 v19, v0

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->h:Ljava/lang/String;

    move-object/from16 v20, v0

    move-object/from16 v0, v37

    iget v3, v0, Lcom/uucun/smspay/g/e;->m:I

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

    move-result-object v21

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v22

    move-object/from16 v0, v37

    iget-wide v3, v0, Lcom/uucun/smspay/g/e;->l:J

    invoke-static {v3, v4}, Ljava/lang/String;->valueOf(J)Ljava/lang/String;

    move-result-object v23

    const-string v24, "0"

    move-object/from16 v0, v37

    iget-object v0, v0, Lcom/uucun/smspay/g/e;->r:Ljava/lang/String;

    move-object/from16 v25, v0

    const-string v26, "0"

    const-string v27, "localmo"

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v28, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v29, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v30, v0

    move-object/from16 v0, v31

    iget-object v0, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    move-object/from16 v31, v0

    const/4 v3, -0x1

    if-ne v10, v3, :cond_16

    const-string v32, "1"

    :goto_b
    invoke-static {v10}, Ljava/lang/String;->valueOf(I)Ljava/lang/String;

    move-result-object v33

    invoke-static {}, Lcom/uucun/smspay/k/a;->a()Ljava/lang/String;

    move-result-object v34

    iget-object v0, v2, Lcom/uucun/smspay/g/b;->k:Ljava/lang/String;

    move-object/from16 v35, v0

    move-object/from16 v11, p1

    invoke-static/range {v11 .. v35}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V

    goto/16 :goto_8

    :cond_16
    const-string v32, "2"

    goto :goto_b

    :cond_17
    move-object/from16 v0, v37

    iget-boolean v2, v0, Lcom/uucun/smspay/g/e;->k:Z

    if-eqz v2, :cond_19

    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

    const/4 v3, 0x3

    if-ne v2, v3, :cond_e

    const-string v3, "addmo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_18

    const/4 v9, 0x1

    :goto_c
    move-object/from16 v0, v37

    iget v2, v0, Lcom/uucun/smspay/g/e;->j:I

    add-int/lit8 v2, v2, 0x1

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

    move-result-object v11

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_18
    const/4 v9, 0x0

    goto :goto_c

    :cond_19
    const-string v3, "mo"

    move-object/from16 v0, v31

    iget-object v4, v0, Lcom/uucun/smspay/g/f;->b:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v5, v0, Lcom/uucun/smspay/g/f;->e:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v6, v0, Lcom/uucun/smspay/g/f;->f:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v7, v0, Lcom/uucun/smspay/g/f;->c:Ljava/lang/String;

    move-object/from16 v0, v31

    iget-object v8, v0, Lcom/uucun/smspay/g/f;->d:Ljava/lang/String;

    const/4 v2, -0x1

    if-ne v10, v2, :cond_1a

    const/4 v9, 0x1

    :goto_d
    const-string v11, "0"

    move-object/from16 v0, v37

    iget-wide v12, v0, Lcom/uucun/smspay/g/e;->l:J

    move-object/from16 v2, p1

    invoke-static/range {v2 .. v13}, Lcom/uucun/smspay/a/f;->a(Landroid/content/Context;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ZILjava/lang/String;J)V

    goto/16 :goto_8

    :cond_1a
    const/4 v9, 0x0

    goto :goto_d

    :cond_1b
    invoke-virtual/range {v38 .. v38}, Ljava/util/ArrayList;->toString()Ljava/lang/String;

    move-result-object v2

    goto/16 :goto_9

    :cond_1c
    const/4 v2, 0x0

    move-object/from16 v0, v37

    iput-boolean v2, v0, Lcom/uucun/smspay/g/e;->i:Z

    move-object/from16 v0, p1

    move-object/from16 v1, v37

    invoke-static {v0, v1}, Lcom/uucun/smspay/bz/SendSmsReceiver;->a(Landroid/content/Context;Lcom/uucun/smspay/g/e;)V

    goto/16 :goto_0
.end method


修改完毕后我们再次保存修改 重新编译,签名,出来测试下...

这次我们会发现道具神马的都可以购买成功了
7.jpg
成品:http://www.52pojie.cn/thread-254251-1-1.html







免费评分

参与人数 4热心值 +4 收起 理由
冥界3大法王 + 1 法王到此一游,学到了谢谢。
小试锋芒 + 1 期待更多更精彩的内容!
周卫国 + 1 支持这样优秀的教程,兄弟辛苦了
萧杀 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩.

查看全部评分

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

萧杀 发表于 2014-4-26 14:26
给力好评,沙发?
y421076373 发表于 2014-4-26 14:31
abcd588588 发表于 2014-4-26 14:31
头像被屏蔽
857893466 发表于 2014-4-26 14:30
提示: 作者被禁止或删除 内容自动屏蔽
yinyunqibao 发表于 2014-4-26 14:35
话说我也看不懂
噜冰花 发表于 2014-4-26 14:36
流弊,膜拜会破解安卓的大手
Some 发表于 2014-4-26 14:45
好帖  新手 喜欢uan
血染de枫彩 发表于 2014-4-26 18:02
看不懂啊,路过支持一下
头像被屏蔽
sos521qqq 发表于 2014-4-26 21:40
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-24 13:30

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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