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

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 20162|回复: 46
收起左侧

[Android 原创] 火柴人联盟内购自检测破解经验分享

[复制链接]
jokers 发表于 2015-12-15 18:12
本帖最后由 jokers 于 2015-12-16 19:41 编辑

在论坛里潜伏了很久,第一次发帖,内容比较简单,希望可以跟大家一起交流讨论,也希望有大神看看有什么可以改善的地方,指点一二。
0x0
工具:androidkiller
样本:火柴人联盟V1.4.1


0x1  
首先,将样本拖入androidkiller中,看一下样本的大概结构。然后运行样本,用androidkiller看运行时的log信息,如果软件的开发者有留下什么关键信息的话可以帮助我们更快破解软件。因为我们现在主要是破解软件的内购,所以我们先看看购买东西时有什么log信息
游戏进行消费时的界面:

游戏购买金币和钻石的界面

游戏购买金币和钻石的界面

取消支付:
4X9ZFEPUWNPIM@)ELBR6J[D.jpg


取消支付时的log信息:                        
  

进行内购时的log信息

进行内购时的log信息

最主要的应该就是这几行了,尤其是test   rechager failure 这一行
X01`)O8K%_6O{)]AC{POOW9.png
在代码中搜索rechager failure这个这个字符串,可以搜到两个结果,
Y$DZZF{6W~YYK$J}5H)`50O.png
根据搜到的结果看过去,可以看到这样的代码
Y)}VNDK@7E)([_ASM8BEYS7.png
有个if-ne p1, v0, :cond_0这样的判断语句,即p1与v0不相等则跳转到cond_0,看看cond_0
6Z5N50B]{8AF3TOTXXPJCXU.png
其中\u8ba1\u8d39\u5931\u8d25\u3002\u3002转化为文本就是 计费失败。。也就是说只要不跳转到cond_0就行了,所以将上面的if-ne p1, v0, :cond_0这一行语句去掉就行了。重打包安装运行试试
GFNHDQG[M[WRRB$)QANP.png


0x2
ok,可以购买成功了,第一个目标完成了,但是这个软件有检验是否被篡改过的功能,所以在不断网的情况下打开会弹出下面的窗口
1US$@RTPUN8P8@DWV_5}YDB.png
这个问题也不难解决,弹出的窗口有两个按钮,确定和退出,在代码中搜索“确定”这个字符串的unicode,可以得到两个结果

都在popKuangInfo这个方法里面,并且这个方法中还有“有侵权”这个字符串,所以基本可以确定是通过调用这个方法检测的,
AQ67FSO{P{3%2R[`ZY1@N9V.png
原本的代码是
invoke-virtual {v3}, Landroid/app/Activity;->isFinishing()Z
    move-result v3
    if-nez v3, :cond_0

就是用isFinishing()Z函数检测样本是否完整,若完整则返回1,若不完整则返回0,将返回值赋给v3,判断v3是否等于0,若不等于0则跳转到cond_0,然后退出函数,所以这里只要将if-nez v3, :cond_0改成goto :cond_0,无论返回值是什么都跳转到cond_0退出函数就可以了。
所以第二步完成了,最后一步,让程序消费时不弹出支付弹窗直接完成支付


0x3
这个软件是用easymobi进行支付的,进行支付时需要先初始化EMPayManager才行,我们可以从这里下手,我们可以看到有这样一个类Lcn/easymobi/android/pay/common/EMPayManager;里面有这些方法
E%]57OH8W1C@(M5VDX6{O{M.png
其中initMerge(Landroid/content/Context;II)V是判断用户手机运营商并选择支付方式的,也就是在弹出支付窗口时会先调用这个方法,只要阻止这个方法被调用就可以完成目标,
%Y%5QFY%5%O%NYVNP~PK9.png
一共有两个地方调用了这个方法,第一个是注释语句可以无视,直接跳到第二处
发现有这样一行
   invoke-static {p0, v3, v4}, Lcn/easymobi/android/pay/common/EMPayManager;->initMerge(Landroid/content/Context;II)V
把这一行去掉就可以了,去掉这一行后会造成选择支付方式失败而无法完成支付,但是由于我们第一步里已经修改了逻辑,所以无论支付的结果怎么样都会跳到支付成功。

第一次发帖,很多地方表达得不是很好,也有很多地方可能有更好的方法去改动,希望大家可以一起讨论。

最后附上样本与完成品
链接: http://pan.baidu.com/s/1eRnageQ 密码: ycmc

这里再附上修改了图标,加载界面,加了有米广告的版本,在点击购买物品时就会弹出广告,对有兴趣的童鞋可以拆包看看,
链接: http://pan.baidu.com/s/1dEd8MA1 密码: t5ph


点评

这玩意儿好像在没有sim卡的手机上会报数据包异常  发表于 2016-1-11 11:47

免费评分

参与人数 9威望 +1 吾爱币 +1 热心值 +9 收起 理由
free_dragon + 1 + 1 谢谢@Thanks!
momosys + 1 厉害,学到了点东西!
baixinyu123 + 1 我很赞同!
mc_huzi + 1 开头用killer寻找log信息的方法让人茅塞顿.
13929861564 + 1 我一点开购买就crash掉了
Heroday + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
app + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
qtfreet00 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩.
Minker + 1 热心回复!

查看全部评分

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

 楼主| jokers 发表于 2016-1-4 17:19
fa00x 发表于 2016-1-4 13:47
大神,支持继续更新一下版本

大神不敢当,我也想继续弄,只是现在年底了,工作太忙了没时间,有时间再填坑。
 楼主| jokers 发表于 2016-1-8 16:36
13929861564 发表于 2016-1-8 14:25
已经失效了 吗?直接crash掉了

不是失效,之前也有几位朋友反馈说会崩溃,可能跟手机系统或者SIM卡运营商有关,但是我自己用几个手机试玩时没发现,没办法查看crash时的错误信息,所以比较难修复。

免费评分

参与人数 1热心值 +1 收起 理由
13929861564 + 1 谢谢@Thanks!

查看全部评分

小小衰 发表于 2015-12-15 18:15
Minker 发表于 2015-12-15 18:24
啊哈哈!好东西!感谢分享
135544 发表于 2015-12-15 18:26
膜拜,学到了,火柴人一直都不会,谢谢大神啊
1941368542 发表于 2015-12-15 18:46
厉害啊,膜拜大神啊!!!
为他人做嫁衣` 发表于 2015-12-15 19:00
用模拟器去试试看
lzm1115 发表于 2015-12-15 19:08
感谢分享
1941368542 发表于 2015-12-15 19:15
一买东西就闪退
晨晓雨露 发表于 2015-12-15 19:16
支持点赞,收藏拿走!!
头像被屏蔽
-Zing- 发表于 2015-12-15 19:19
提示: 作者被禁止或删除 内容自动屏蔽
您需要登录后才可以回帖 登录 | 注册[Register]

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

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

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

GMT+8, 2024-5-14 06:28

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

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