天天跑你妹 的破解教程
本帖最后由 御剑 于 2014-4-26 15:28 编辑【文章标题】: 天天跑你妹 的破解教程
【文章作者】: 御剑
【作者邮箱】: 408885352@qq.com
【作者主页】: 无
【作者QQ号】: 无
【软件名称】: 天天跑你妹
【下载地址】: http://pan.baidu.com/s/1gdmnaU3为方便新手研究我就把这个版本上传百度网盘吧
【加壳方式】: 无
【编写语言】: JAVA
【使用工具】: ApkIDE
【软件介绍】: 【安卓游戏】没什么好介绍的...
【作者声明】: 只是技术交流,没有其他目的。失误之处敬请诸位大侠赐教!
--------------------------------------------------------------------------------
【详细过程】
我们先打开程序看看是否有可用信息...
我们发现点击购买后会提示:“支付失败。提示码:88087。”
然后我们用 ApkIDE 打开 天天跑你妹我们把“支付失败。提示码:88087。”转换为Unicode,然后搜索全部
如上图...我们搜索到了一条信息, 双击搜索的信息会来到了该函数
# 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源码看看
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。”
我们来试下是否能通过修改判断来实现破解
# 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
那么我们来搜索看看是否能通过这组提示码给我们带来有用信息~
我们搜索到了三条包含88087的信息,忽略我们之前修改过的第一条信息。
我们双击进入第二条搜索到的信息
# 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源码看看
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.
下面我们对源码进行简单分析下
# 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
经过大概的分析后,现在我们开始进破解吧。
我们只要不让前面的六次验证短信发送状态 的跳转实现即可 !
# 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
修改完毕后我们再次保存修改 重新编译,签名,出来测试下...
这次我们会发现道具神马的都可以购买成功了
成品:http://www.52pojie.cn/thread-254251-1-1.html
给力好评,沙发? {:1_907:}完全看不懂 给力支持楼主! 话说我也看不懂 流弊,膜拜会破解安卓的大手 好帖新手 喜欢uan 看不懂啊,路过支持一下