记小白的一次半成功破解
最近在玩一款手机游戏,购买道具可以用支付宝和微信,研究了一下准备破解。0x1:
> 正在反编译Apk...- 成功!
> 正在将dex转成jar...- 成功!
搜索0x2328(9000),找到支付宝相关代码如下:
# direct methods
.method static constructor <clinit>()V
.locals 10
const/4 v9, 0x4
const/4 v8, 0x3
const/4 v7, 0x2
const/4 v6, 0x1
const/4 v5, 0x0
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "SUCCEEDED"
const/16 v2, 0x2328
const-string v3, "\u5904\u7406\u6210\u529f"
invoke-direct {v0, v1, v5, v2, v3}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->a:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "FAILED"
const/16 v2, 0xfa0
const-string v3, "\u7cfb\u7edf\u7e41\u5fd9\uff0c\u8bf7\u7a0d\u540e\u518d\u8bd5"
invoke-direct {v0, v1, v6, v2, v3}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->b:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "CANCELED"
const/16 v2, 0x1771
const-string v3, "\u7528\u6237\u53d6\u6d88"
invoke-direct {v0, v1, v7, v2, v3}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->c:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "NETWORK_ERROR"
const/16 v2, 0x1772
const-string v3, "\u7f51\u7edc\u8fde\u63a5\u5f02\u5e38"
invoke-direct {v0, v1, v8, v2, v3}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->d:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "PARAMS_ERROR"
const/16 v2, 0xfa1
const-string v3, "\u53c2\u6570\u9519\u8bef"
invoke-direct {v0, v1, v9, v2, v3}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->e:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "DOUBLE_REQUEST"
const/4 v2, 0x5
const/16 v3, 0x1388
const-string v4, "\u91cd\u590d\u8bf7\u6c42"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->f:Lcom/alipay/sdk/app/k;
new-instance v0, Lcom/alipay/sdk/app/k;
const-string v1, "PAY_WAITTING"
const/4 v2, 0x6
const/16 v3, 0x1f40
const-string v4, "\u652f\u4ed8\u7ed3\u679c\u786e\u8ba4\u4e2d"
invoke-direct {v0, v1, v2, v3, v4}, Lcom/alipay/sdk/app/k;-><init>(Ljava/lang/String;IILjava/lang/String;)V
sput-object v0, Lcom/alipay/sdk/app/k;->g:Lcom/alipay/sdk/app/k;
const/4 v0, 0x7
new-array v0, v0, [Lcom/alipay/sdk/app/k;
sget-object v1, Lcom/alipay/sdk/app/k;->a:Lcom/alipay/sdk/app/k;
aput-object v1, v0, v5
sget-object v1, Lcom/alipay/sdk/app/k;->b:Lcom/alipay/sdk/app/k;
aput-object v1, v0, v6
sget-object v1, Lcom/alipay/sdk/app/k;->c:Lcom/alipay/sdk/app/k;
aput-object v1, v0, v7
sget-object v1, Lcom/alipay/sdk/app/k;->d:Lcom/alipay/sdk/app/k;
aput-object v1, v0, v8
sget-object v1, Lcom/alipay/sdk/app/k;->e:Lcom/alipay/sdk/app/k;
aput-object v1, v0, v9
const/4 v1, 0x5
sget-object v2, Lcom/alipay/sdk/app/k;->f:Lcom/alipay/sdk/app/k;
aput-object v2, v0, v1
const/4 v1, 0x6
sget-object v2, Lcom/alipay/sdk/app/k;->g:Lcom/alipay/sdk/app/k;
aput-object v2, v0, v1
sput-object v0, Lcom/alipay/sdk/app/k;->j:[Lcom/alipay/sdk/app/k;
return-void
.end method
.method private constructor <init>(Ljava/lang/String;IILjava/lang/String;)V
.locals 0
.annotation system Ldalvik/annotation/Signature;
value = {
"(I",
"Ljava/lang/String;",
")V"
}
.end annotation
invoke-direct {p0, p1, p2}, Ljava/lang/Enum;-><init>(Ljava/lang/String;I)V
iput p3, p0, Lcom/alipay/sdk/app/k;->h:I
iput-object p4, p0, Lcom/alipay/sdk/app/k;->i:Ljava/lang/String;
return-void
.end method
.method public static a(I)Lcom/alipay/sdk/app/k;
.locals 1
sparse-switch p0, :sswitch_data_0
sget-object v0, Lcom/alipay/sdk/app/k;->b:Lcom/alipay/sdk/app/k;
:goto_0
return-object v0
:sswitch_0
sget-object v0, Lcom/alipay/sdk/app/k;->a:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_1
sget-object v0, Lcom/alipay/sdk/app/k;->c:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_2
sget-object v0, Lcom/alipay/sdk/app/k;->d:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_3
sget-object v0, Lcom/alipay/sdk/app/k;->e:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_4
sget-object v0, Lcom/alipay/sdk/app/k;->g:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_5
sget-object v0, Lcom/alipay/sdk/app/k;->f:Lcom/alipay/sdk/app/k;
goto :goto_0
:sswitch_data_0
.sparse-switch
0xfa1 -> :sswitch_3
0x1388 -> :sswitch_5
0x1771 -> :sswitch_1
0x1772 -> :sswitch_2
0x1f40 -> :sswitch_4
0x2328 -> :sswitch_0
.end sparse-switch
.end method
0x1771 -> :sswitch_1 修改为 0x1771 -> :sswitch_0,打包测试,购买到支付宝界面取消,提示购买失败。
0x2:
搜索“\u5931\u8d25”(失败),找到一个结果,代码如下:
.class Lcom/lexinyou/game/dragon/h/ad;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/lexinyou/game/dragon/d/aj;
# instance fields
.field final synthetic a:Lcom/lexinyou/game/dragon/h/aa;
.field private final synthetic b:Lcom/lexinyou/game/dragon/h/g;
.field private final synthetic c:Lcom/lexinyou/game/dragon/d/ac;
# direct methods
.method constructor <init>(Lcom/lexinyou/game/dragon/h/aa;Lcom/lexinyou/game/dragon/h/g;Lcom/lexinyou/game/dragon/d/ac;)V
.locals 0
iput-object p1, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
iput-object p2, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
iput-object p3, p0, Lcom/lexinyou/game/dragon/h/ad;->c:Lcom/lexinyou/game/dragon/d/ac;
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public a(Lcom/lexinyou/game/dragon/e/cn;Ljava/lang/String;I)V
.locals 2
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
invoke-virtual {v0, p2}, Lcom/lexinyou/game/dragon/h/g;->c(Ljava/lang/String;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
invoke-static {v0}, Lcom/lexinyou/game/dragon/h/aa;->a(Lcom/lexinyou/game/dragon/h/aa;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->c:Lcom/lexinyou/game/dragon/d/ac;
iget-object v0, v0, Lcom/lexinyou/game/dragon/d/ac;->c:Lcom/lexinyou/game/dragon/a;
const/4 v1, 0x0
invoke-virtual {v0, p1, p2, p3, v1}, Lcom/lexinyou/game/dragon/a;->a(Lcom/lexinyou/game/dragon/e/cn;Ljava/lang/String;IZ)V
return-void
.end method
.method public a(Lcom/lexinyou/game/dragon/e/cn;Ljava/lang/String;Ljava/lang/String;I)V
.locals 3
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
invoke-static {v0}, Lcom/lexinyou/game/dragon/h/aa;->a(Lcom/lexinyou/game/dragon/h/aa;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\u8d2d\u4e70:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p1, Lcom/lexinyou/game/dragon/e/cn;->c:Ljava/lang/String;
invoke-static {v2}, Lcom/lexinyou/game/dragon/h/k;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, " \u5931\u8d25,\u539f\u56e0:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
sget-object v2, Lcom/badlogic/gdx/graphics/Color;->WHITE:Lcom/badlogic/gdx/graphics/Color;
invoke-static {v0, v1, v2}, Lcom/lexinyou/game/dragon/h/aa;->a(Lcom/lexinyou/game/dragon/h/aa;Ljava/lang/String;Lcom/badlogic/gdx/graphics/Color;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->c:Lcom/lexinyou/game/dragon/d/ac;
iget-object v0, v0, Lcom/lexinyou/game/dragon/d/ac;->c:Lcom/lexinyou/game/dragon/a;
invoke-virtual {v0}, Lcom/lexinyou/game/dragon/a;->n()Lcom/lexinyou/game/dragon/d/ag;
move-result-object v0
invoke-virtual {v0}, Lcom/lexinyou/game/dragon/d/ag;->m()V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
invoke-virtual {v0, p3}, Lcom/lexinyou/game/dragon/h/g;->a(Ljava/lang/String;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
invoke-virtual {v0, p3}, Lcom/lexinyou/game/dragon/h/g;->c(Ljava/lang/String;)V
return-void
.end method
.method public b(Lcom/lexinyou/game/dragon/e/cn;Ljava/lang/String;Ljava/lang/String;I)V
.locals 3
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
invoke-static {v0}, Lcom/lexinyou/game/dragon/h/aa;->a(Lcom/lexinyou/game/dragon/h/aa;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->a:Lcom/lexinyou/game/dragon/h/aa;
new-instance v1, Ljava/lang/StringBuilder;
const-string v2, "\u53d6\u6d88\u8d2d\u4e70:"
invoke-direct {v1, v2}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget-object v2, p1, Lcom/lexinyou/game/dragon/e/cn;->c:Ljava/lang/String;
invoke-static {v2}, Lcom/lexinyou/game/dragon/h/k;->e(Ljava/lang/String;)Ljava/lang/String;
move-result-object v2
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
const-string v2, ",\u539f\u56e0:"
invoke-virtual {v1, v2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1, p2}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
invoke-virtual {v1}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v1
sget-object v2, Lcom/badlogic/gdx/graphics/Color;->WHITE:Lcom/badlogic/gdx/graphics/Color;
invoke-static {v0, v1, v2}, Lcom/lexinyou/game/dragon/h/aa;->a(Lcom/lexinyou/game/dragon/h/aa;Ljava/lang/String;Lcom/badlogic/gdx/graphics/Color;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->c:Lcom/lexinyou/game/dragon/d/ac;
iget-object v0, v0, Lcom/lexinyou/game/dragon/d/ac;->c:Lcom/lexinyou/game/dragon/a;
invoke-virtual {v0}, Lcom/lexinyou/game/dragon/a;->n()Lcom/lexinyou/game/dragon/d/ag;
move-result-object v0
invoke-virtual {v0}, Lcom/lexinyou/game/dragon/d/ag;->m()V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
invoke-virtual {v0, p3}, Lcom/lexinyou/game/dragon/h/g;->a(Ljava/lang/String;)V
iget-object v0, p0, Lcom/lexinyou/game/dragon/h/ad;->b:Lcom/lexinyou/game/dragon/h/g;
invoke-virtual {v0, p3}, Lcom/lexinyou/game/dragon/h/g;->c(Ljava/lang/String;)V
return-void
.end method
小白水平有限,看来看去只有失败没有成功,思路断了,看了几遍找了找这段代码里用到的其他smali,发现有一个
invoke-virtual {v0, p1, p2, p3, v1}, Lcom/lexinyou/game/dragon/a;->a(Lcom/lexinyou/game/dragon/e/cn;Ljava/lang/String;IZ)V
打开cn.smali代码如下:
.class public final Lcom/lexinyou/game/dragon/e/cn;
.super Ljava/lang/Object;
# interfaces
.implements Lcom/badlogic/gdx/utils/Json$Serializable;
# instance fields
.field public a:I
.field public b:I
.field public c:Ljava/lang/String;
.field public d:Ljava/lang/String;
.field public e:I
.field public f:I
.field public g:I
.field public h:I
.field public i:I
.field public j:Ljava/lang/String;
.field public k:Ljava/lang/String;
.field public l:Ljava/lang/String;
.field public m:Ljava/lang/String;
.field public n:Ljava/lang/String;
.field public o:Ljava/lang/String;
.field public p:Ljava/lang/String;
# direct methods
.method public constructor <init>()V
.locals 0
invoke-direct {p0}, Ljava/lang/Object;-><init>()V
return-void
.end method
# virtual methods
.method public read(Lcom/badlogic/gdx/utils/Json;Lcom/badlogic/gdx/utils/JsonValue;)V
.locals 2
const-string v0, "id"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->a:I
const-string v0, "index"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->b:I
const-string v0, "name"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/lexinyou/game/dragon/e/cn;->c:Ljava/lang/String;
const-string v0, "icon"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/lexinyou/game/dragon/e/cn;->d:Ljava/lang/String;
const-string v0, "category"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->e:I
const-string v0, "value"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->f:I
const-string v0, "parami1"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->g:I
const-string v0, "parami2"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->h:I
const-string v0, "currency"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->i:I
const-string v0, "identify"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getString(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
invoke-static {v0}, Lcom/kusoman/game/n/o;->b(Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/lexinyou/game/dragon/e/cn;->j:Ljava/lang/String;
const-string v0, "pay_index"
const-string v1, "-1"
invoke-virtual {p2, v0, v1}, Lcom/badlogic/gdx/utils/JsonValue;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/lexinyou/game/dragon/e/cn;->k:Ljava/lang/String;
const-string v0, "name_cn"
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->c:Ljava/lang/String;
invoke-virtual {p2, v0, v1}, Lcom/badlogic/gdx/utils/JsonValue;->getString(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
move-result-object v0
iput-object v0, p0, Lcom/lexinyou/game/dragon/e/cn;->l:Ljava/lang/String;
return-void
.end method
.method public toString()Ljava/lang/String;
.locals 2
new-instance v0, Ljava/lang/StringBuilder;
const-string v1, "StoreItem [id="
invoke-direct {v0, v1}, Ljava/lang/StringBuilder;-><init>(Ljava/lang/String;)V
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->a:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", index="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->b:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", name="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->c:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", icon="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->d:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", category="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->e:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", value="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->f:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", parami1="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->g:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", currency="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget v1, p0, Lcom/lexinyou/game/dragon/e/cn;->i:I
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(I)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", identify="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->j:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", payIndex="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->k:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", modifyName="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->m:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", modifyPrice="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->n:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, ", payload="
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
iget-object v1, p0, Lcom/lexinyou/game/dragon/e/cn;->o:Ljava/lang/String;
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
const-string v1, "]"
invoke-virtual {v0, v1}, Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v0
invoke-virtual {v0}, Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v0
return-object v0
.end method
.method public write(Lcom/badlogic/gdx/utils/Json;)V
.locals 0
return-void
.end method
感觉应该是定义各种商店物品属性的,改一下"value"看看是不是价格
const-string v0, "value"
invoke-virtual {p2, v0}, Lcom/badlogic/gdx/utils/JsonValue;->getInt(Ljava/lang/String;)I
move-result v0
const/high16 v0, 0x000000000
float-to-int v0, v0
iput v0, p0, Lcom/lexinyou/game/dragon/e/cn;->f:I
保存编译安装测试,商店所有东西价格都变为0了,可以直接购买,但是充值和人民币购买的物品仍然会调用支付宝和微信,点进去由于价钱为0会提示错误,所以仍然买不了。
至此结束,继续探索中。。。。
希望论坛大神给点思路,谢谢~~ 感觉原理上实现不了啊,手游连接到服务器上,每次玩游戏都要调取服务器上的数据,没办法欺骗服务器进行虚假购买吧,我也小白搞不懂 呵呵,比我强多了,努力加油啊。 同是小白支持一下! 灌水 。。。。。支持下 已经很不错了,向楼主学习{:301_993:} 不错不错,加油 大神,接受小白膜拜吧 不过还是没有看懂 虽然看不懂,但是好像很厉害的样子 看不懂不过厉害了