吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 24119|回复: 64
收起左侧

[Android 原创] 破解“贪吃蛇大作战”的签名信息服务端验证机制

[复制链接]
S18 发表于 2016-12-3 10:19
本帖最后由 S18 于 2016-12-3 13:54 编辑

0x00
第一次尝试做一些简单的逆向分析,内容比较简单,高手们莫见笑。
“贪吃蛇大作战”这个游戏最近玩的人挺多,我也在玩。5分钟限时版,最好成绩也就3000多。
我分析的版本是v2.0.1:
图片 1.png
经过修改,玩了一把5分钟限时赛:长度69224,击杀1456。
0x01 反调试和签名校验
将原包重新签名,安装到手机上,一直提示网络无法连接,原包没有问题。这里很明显是将签名信息上传到了服务器端,在服务器端进行了签名校验,校验失败则断开与此客户端的连接。
写一个小程序进行注入(利用ptrace),对一些关键函数进行hook,比如libc.so的fopen函数。
图片 1.png
在hook_entry中,对libc.so的fopen作inline hook,监测一下程序都打开了哪些文件。
我本意是想看看,它是否会在运行时直接去读取apk包,自己解析其中的与签名信息相关的文件。结果是没有,但发现它一直在读cmdline文件,猜测可能是在作反调试(未去证实,因为后面的分析和修改并未借助动态调试)。
这里说一下,假设它是自己打开apk文件,从中读取与签名相关的文件,提取签名信息。那么我们可以在某个位置放一个原包,然后hook关键函数,将其读取的文件路径修改为原包位置,即可绕过这种签名校验。
举一反三,这种方式也可以绕过大部分反调试措施。比如常见的检测traceid是否非0的反调方式,我们可以hook fopen/open,然后在它要读取该文件之前先读取该文件,并将其traceid重新修改为0,并将其写到sd卡某个目录下,再将打开文件的位置重定向到该文件,那它就检测不到ptrace了。
还有一些anti-hook机制,大概思路是校验本地文件的数据和加载到内存中的数据是否一致。通过类似方式也可以轻松绕过,一句话,因为我们可以先注入,先完成hook,先做各种Anti-anti。
0x02 破解签名校验
因为它没有在运行时直接fopen/open apk文件,所以考虑应该还是通过调用系统api读取的签名信息。
将原包解压,发现只有两个so,其中libweibosdkcore.so看起来是微博sdk。将另一个libJustATest.so拖到IDA中看一下,没加壳,并且只看到xxx_getATestString这么一个有用的导出函数,从名字上看,很可能就是获取上传到服务器端的校验字符串。
图片 1.png
跳转到该方法,f5,进行一些简单的参数名和参数类型以及函数调用的修正。发现它里面进行了一大通的各种字符串的拼接,最后将该字符串返回(根据之前的猜测,该字符串可能就是发送给服务端的校验字符串)。
图片 1.png
发现里面调用了java层com.wepie.snake.helper.update.QiniuEtagUtil类的getSignString函数。用AndroidKiller反编译一下APK包(该APK没有作任何防反编译的措施,dex也没加壳),找到getSignString函数。
图片 1.png
没错,就是在这里调用系统API获取的签名(其实,我们可以一开始就全局搜索某些关键API,来定位获取签名的位置)。
借助xposedhook getSignString方法,将正确的签名字符串通过日志打印出来。
图片 1.png
正确的签名字符串是(作了MD5计算后的结果):678a930b9829b54a44f92a840916f7d1
剩下的工作就简单了,修改smali,将getSignString的返回结果固定为上面的这个正确的签名字符串。
图片 1.png
重新编译、打包、签名、安装,发现用新签名的APK包已经可以正常使用了。
0x03 后序
其实破解签名校验之后,基本上是想改什么改什么了,因为原包没有做任何的加壳和混淆的工作。比如,看看下面这个类,应该知道怎么下手了吧(修改的时候注意一下,它里面好像有一些简单的数据合理性校验之类的东西,我没细看)。
图片 1.png

最后,大家学习就好,别做什么破坏,也别释放出什么破解版之类的东西。初次尝试一点简单的逆向分析,大牛们绕过吧。
附:我认为现在so端最有用的加固措施是llvm混淆,因为普通加解密壳从机制上来说比较容易脱掉。dex端已经出现了解释器壳(伪vmp),纯粹的类抽取的话,通过自定义rom(定制dalvik或art,遍历class_def加载并初始化,然后dump…)也可以脱掉大部分的。

doc.zip

562.59 KB, 下载次数: 206, 下载积分: 吾爱币 -1 CB

本文word版本

免费评分

参与人数 22威望 +2 吾爱币 +5 热心值 +22 收起 理由
black90 + 1 + 1 用心讨论,共获提升!
King丶强 + 1 + 1 热心回复!
zhangy0gg + 1 + 1 用心讨论,共获提升!
ddx123 + 1 + 1 我很赞同!
Amanda小黑 + 1 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
末初 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
无痕软件 + 1 热心回复!
h080294 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
木天狼星 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
qq8808 + 1 用心讨论,共获提升!
丶咖啡猫丶 + 1 谢谢@Thanks!
lawlier + 1 用心讨论,共获提升!
Chlrun + 1 涨姿势了 谢谢照顾小白 这种帖子多发点 哈哈
AWEIWEI + 1 学习学习
简短的J + 1 我很赞同!
a3362613 + 1 厉害厉害
珍惜幸福涙 + 1 谢谢@Thanks!
qtfreet00 + 2 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
豆巴子 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
china1213100 + 1 谢谢@Thanks!
970883246 + 1 欢迎分析讨论交流,吾爱破解论坛有你更精彩!
周遭阿 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!

查看全部评分

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

1187112183 发表于 2016-12-30 22:20

const/4 v9 2
const/4 v8 -1
const/4 v7 1
const/4 v6 0
iget v0 v11 Landroid/os/Message;->what:I
packed-switch v0 :label_540
label_9:
return-void
switch_10:
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
const-string v1 ""
invoke-virtual {v0,v7,v1} Lcom/qihoo/gamecenter/sdk/pay/a$a;->a(ZLjava/lang/String;)V
goto :label_9
switch_22:
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
iput-boolean v6 v0 Lcom/qihoo/gamecenter/sdk/pay/b/b;->a:Z
iget-object v0 v11 Landroid/os/Message;->obj:Ljava/lang/Object;
check-cast v0 Ljava/lang/String;
invoke-static {v0} Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v1
if-eqz v1 :label_146
const-string v0 "QiHooPayAlipay"
new-array v1 v7 [Ljava/lang/Object;
const-string v2 "支付宝支付接口通知result:TextUtils.isEmpty(strRet)==true"
aput-object v2 v1 v6
invoke-static {v0,v1} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
const-string v0 "360sdk_alipay_fail"
new-instance v1 Ljava/lang/StringBuilder;
invoke-direct {v1} Ljava/lang/StringBuilder;-><init>()V
const-string v2 "orderId:"
invoke-virtual {v1,v2} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v1
iget-object v2 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
iget-object v2 v2 Lcom/qihoo/gamecenter/sdk/pay/b/b;->b:Ljava/lang/String;
invoke-virtual {v1,v2} 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
invoke-static {v1} Lcom/qihoo/gamecenter/sdk/common/i/c;->a(Ljava/lang/String;)Ljava/util/Map;
move-result-object v1
invoke-static {v0,v1} Lcom/qihoo/stat/QHStatDo;->event(Ljava/lang/String;Ljava/util/Map;)V
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->b(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Landroid/app/Activity;
move-result-object v0
const-string v1 "360sdk_pay_alipay_fail"
new-instance v2 Ljava/lang/StringBuilder;
invoke-direct {v2} Ljava/lang/StringBuilder;-><init>()V
const-string v3 "orderId:"
invoke-virtual {v2,v3} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v2
iget-object v3 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
iget-object v3 v3 Lcom/qihoo/gamecenter/sdk/pay/b/b;->b:Ljava/lang/String;
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 {v2} Lcom/qihoo/gamecenter/sdk/common/i/a;->a(Ljava/lang/String;)Ljava/util/HashMap;
move-result-object v2
invoke-static {v0,v1,v2} Lcom/qihoo/gamecenter/sdk/common/i/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/util/HashMap;)V
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
if-eqz v0 :label_9
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
sget-object v1 Lcom/qihoo/gamecenter/sdk/pay/a$b;->b:Lcom/qihoo/gamecenter/sdk/pay/a$b;
const-string v2 ""
sget-object v3 Lcom/qihoo/gamecenter/sdk/common/e/a$a;->q:Lcom/qihoo/gamecenter/sdk/common/e/a$a;
invoke-static {v3} Lcom/qihoo/gamecenter/sdk/common/e/a;->a(Lcom/qihoo/gamecenter/sdk/common/e/a$a;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0,v1,v2,v3} Lcom/qihoo/gamecenter/sdk/pay/a$a;->a(Lcom/qihoo/gamecenter/sdk/pay/a$b;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :label_9
label_146:
const-string v1 "QiHooPayAlipay"
new-array v2 v7 [Ljava/lang/Object;
new-instance v3 Ljava/lang/StringBuilder;
invoke-direct {v3} Ljava/lang/StringBuilder;-><init>()V
const-string v4 "支付宝支付接口通知result:"
invoke-virtual {v3,v4} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3,v0} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
aput-object v3 v2 v6
invoke-static {v1,v2} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
const-string v1 "resultStatus={"
invoke-virtual {v0,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
if-le v2 v8 :label_225
invoke-virtual {v1} Ljava/lang/String;->length()I
move-result v1
add-int/2addr v1 v2
const-string v2 "};"
invoke-virtual {v0,v2,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v0,v1,v2} Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v1
const-string v2 "QiHooPayAlipay"
new-array v3 v7 [Ljava/lang/Object;
new-instance v4 Ljava/lang/StringBuilder;
invoke-direct {v4} Ljava/lang/StringBuilder;-><init>()V
const-string v5 "支付宝支付接口通知statusCode:"
invoke-virtual {v4,v5} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4,v1} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v4
invoke-virtual {v4} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v4
aput-object v4 v3 v6
invoke-static {v2,v3} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
label_225:
const/4 v2 0
const-string v3 "out_trade_no=\""
invoke-virtual {v0,v3} Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v4
if-le v4 v8 :label_249
invoke-virtual {v3} Ljava/lang/String;->length()I
move-result v2
add-int/2addr v2 v4
const-string v3 "\""
invoke-virtual {v0,v3,v2} Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v3
invoke-virtual {v0,v2,v3} Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v2
label_249:
const-string v3 "QiHooPayAlipay"
new-array v4 v9 [Ljava/lang/Object;
const-string v5 "tradeNo = "
aput-object v5 v4 v6
invoke-static {v2} Landroid/text/TextUtils;->isEmpty(Ljava/lang/CharSequence;)Z
move-result v5
if-eqz v5 :label_265
const-string v2 ""
label_265:
aput-object v2 v4 v7
invoke-static {v3,v4} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
const-string v2 "9000"
invoke-virtual {v1,v2} Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v2
if-eqz v2 :label_385
const-string v1 "success=\""
invoke-virtual {v0,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
if-le v2 v8 :label_536
invoke-virtual {v1} Ljava/lang/String;->length()I
move-result v1
add-int/2addr v1 v2
const-string v2 "\""
invoke-virtual {v0,v2,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v0,v1,v2} Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
label_301:
const-string v1 "QiHooPayAlipay"
new-array v2 v9 [Ljava/lang/Object;
const-string v3 "success = "
aput-object v3 v2 v6
aput-object v0 v2 v7
invoke-static {v1,v2} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
const-string v1 "true"
invoke-virtual {v0,v1} Ljava/lang/String;->equalsIgnoreCase(Ljava/lang/String;)Z
move-result v0
if-eqz v0 :label_9
const-string v0 "360sdk_alipay_success"
iget-object v1 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v1} Lcom/qihoo/gamecenter/sdk/pay/b/b;->b(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Landroid/app/Activity;
move-result-object v1
invoke-static {v1} Lcom/qihoo/gamecenter/sdk/common/i/c;->a(Landroid/content/Context;)Ljava/util/Map;
move-result-object v1
invoke-static {v0,v1} Lcom/qihoo/stat/QHStatDo;->event(Ljava/lang/String;Ljava/util/Map;)V
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->b(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Landroid/app/Activity;
move-result-object v0
const-string v1 "360sdk_pay_alipay_success"
invoke-static {v0,v1} Lcom/qihoo/gamecenter/sdk/common/i/a;->a(Landroid/content/Context;Ljava/lang/String;)V
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
if-eqz v0 :label_9
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v1
sget-object v2 Lcom/qihoo/gamecenter/sdk/pay/a$b;->a:Lcom/qihoo/gamecenter/sdk/pay/a$b;
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
iget-object v3 v0 Lcom/qihoo/gamecenter/sdk/pay/b/b;->b:Ljava/lang/String;
invoke-static {} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a()Ljava/util/Map;
move-result-object v0
const-string v4 "9000"
invoke-interface {v0,v4} Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0 Ljava/lang/String;
invoke-virtual {v1,v2,v3,v0} Lcom/qihoo/gamecenter/sdk/pay/a$a;->a(Lcom/qihoo/gamecenter/sdk/pay/a$b;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :label_9
label_385:
const-string v2 "8000"
invoke-virtual {v1,v2} Ljava/lang/String;->equals(Ljava/lang/Object;)Z
move-result v1
if-eqz v1 :label_430
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
if-eqz v0 :label_9
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v1
sget-object v2 Lcom/qihoo/gamecenter/sdk/pay/a$b;->d:Lcom/qihoo/gamecenter/sdk/pay/a$b;
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
iget-object v3 v0 Lcom/qihoo/gamecenter/sdk/pay/b/b;->b:Ljava/lang/String;
invoke-static {} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a()Ljava/util/Map;
move-result-object v0
const-string v4 "8000"
invoke-interface {v0,v4} Ljava/util/Map;->get(Ljava/lang/Object;)Ljava/lang/Object;
move-result-object v0
check-cast v0 Ljava/lang/String;
invoke-virtual {v1,v2,v3,v0} Lcom/qihoo/gamecenter/sdk/pay/a$a;->a(Lcom/qihoo/gamecenter/sdk/pay/a$b;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :label_9
label_430:
const-string v1 "memo={"
invoke-virtual {v0,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;)I
move-result v2
if-le v2 v8 :label_534
invoke-virtual {v1} Ljava/lang/String;->length()I
move-result v1
add-int/2addr v1 v2
const-string v2 "};"
invoke-virtual {v0,v2,v1} Ljava/lang/String;->indexOf(Ljava/lang/String;I)I
move-result v2
invoke-virtual {v0,v1,v2} Ljava/lang/String;->substring(II)Ljava/lang/String;
move-result-object v0
const-string v1 "QiHooPayAlipay"
new-array v2 v7 [Ljava/lang/Object;
new-instance v3 Ljava/lang/StringBuilder;
invoke-direct {v3} Ljava/lang/StringBuilder;-><init>()V
const-string v4 "支付宝支付接口通知failReason:"
invoke-virtual {v3,v4} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3,v0} Ljava/lang/StringBuilder;->append(Ljava/lang/String;)Ljava/lang/StringBuilder;
move-result-object v3
invoke-virtual {v3} Ljava/lang/StringBuilder;->toString()Ljava/lang/String;
move-result-object v3
aput-object v3 v2 v6
invoke-static {v1,v2} Lcom/qihoo/gamecenter/sdk/pay/k/c;->a(Ljava/lang/String;[Ljava/lang/Object;)V
label_481:
const-string v1 "360sdk_alipay_fail"
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/common/i/c;->a(Ljava/lang/String;)Ljava/util/Map;
move-result-object v2
invoke-static {v1,v2} Lcom/qihoo/stat/QHStatDo;->event(Ljava/lang/String;Ljava/util/Map;)V
iget-object v1 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v1} Lcom/qihoo/gamecenter/sdk/pay/b/b;->b(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Landroid/app/Activity;
move-result-object v1
const-string v2 "360sdk_pay_alipay_fail"
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/common/i/a;->a(Ljava/lang/String;)Ljava/util/HashMap;
move-result-object v0
invoke-static {v1,v2,v0} Lcom/qihoo/gamecenter/sdk/common/i/a;->a(Landroid/content/Context;Ljava/lang/String;Ljava/util/HashMap;)V
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
if-eqz v0 :label_9
iget-object v0 v10 Lcom/qihoo/gamecenter/sdk/pay/b/b$2;->a:Lcom/qihoo/gamecenter/sdk/pay/b/b;
invoke-static {v0} Lcom/qihoo/gamecenter/sdk/pay/b/b;->a(Lcom/qihoo/gamecenter/sdk/pay/b/b;)Lcom/qihoo/gamecenter/sdk/pay/a$a;
move-result-object v0
sget-object v1 Lcom/qihoo/gamecenter/sdk/pay/a$b;->b:Lcom/qihoo/gamecenter/sdk/pay/a$b;
const-string v2 ""
sget-object v3 Lcom/qihoo/gamecenter/sdk/common/e/a$a;->q:Lcom/qihoo/gamecenter/sdk/common/e/a$a;
invoke-static {v3} Lcom/qihoo/gamecenter/sdk/common/e/a;->a(Lcom/qihoo/gamecenter/sdk/common/e/a$a;)Ljava/lang/String;
move-result-object v3
invoke-virtual {v0,v1,v2,v3} Lcom/qihoo/gamecenter/sdk/pay/a$a;->a(Lcom/qihoo/gamecenter/sdk/pay/a$b;Ljava/lang/String;Ljava/lang/String;)V
goto/16 :label_9
label_534:
move-object v0 v1
goto :label_481
label_536:
move-object v0 v1
goto/16 :label_301
label_540:
.pswitch_data 1
    1 : switch_10
    2 : switch_22
.end pswitch_data
大神能帮我看看这个怎么破解吗?
cs94005055 发表于 2016-12-7 17:07
楼主你好你说的我等小白也看不明白,我用S大的贪吃蛇大作战不死版 不能用微信和QQ账号登陆 登陆就提示该应用非官方正版应用,请去应用宝下载,你能不能修改下这个版本传上来 谢谢  链接: http://pan.baidu.com/s/1miLhv52 密码: b82b
dice1412 发表于 2016-12-3 10:22
a2693393 发表于 2016-12-3 10:24
看不懂,这个是成品然后直接安装还是啥?
玉米 发表于 2016-12-3 10:29
放出个成品玩玩也是极好的
泥煤好霉 发表于 2016-12-3 10:37
不明觉厉 加油
witstorm 发表于 2016-12-3 10:51 来自手机
高厉害的样子
EUamoELA 发表于 2016-12-3 10:56 来自手机
可以兄弟
Tendro 发表于 2016-12-3 11:02
.看.不.懂.
macintosh 发表于 2016-12-3 12:07
厉害啊,膜拜ing
豐澤_____ 发表于 2016-12-3 12:10 来自手机
厉害了 不过看不懂(#-.-)
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

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

GMT+8, 2024-11-25 01:34

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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