myoldid 发表于 2015-1-18 18:47

【新人首贴】内购破解中提示无SIM卡的一种解决思路,供和我一样的新人借鉴

本帖最后由 myoldid 于 2015-1-19 10:23 编辑

因接触安卓逆向两个多月,没任何基础,也没系统学过啥语言,当然英语和汉语不算,所以文中一些常识性的错误,望大神指教。本文也是给新人参考的,大神们别笑啊。
前言:
游戏名称:开心泡泡猫
游戏版本:2.3.449
游戏类型:消除类
       该游戏是乐元素旗下的,乐元素相信很多小伙伴都知道,他们的开心消消乐很火爆,因为有lua脚本的签名验证,所以要破解还是有难度的(这个游戏我一直没搞定:'(weeqw,还指望哪位大神教我怎么搞定它)。最开始我也以为这款也有签名验证,但事实证明我想多了,可能他们的程序猿急着回去相亲,没有添加验证吧...
1. 游戏是在爱游戏下载的,所以支付成功判断实在paysuccess里面,直接搜索payfail,将里面代码替换为paysuccess里的即可(当然这只是理论上的,就像官员不受贿,要为老百姓服务一样,仅仅理论上),安装后,点支付提示这个...



2. 因为我的是平板,没sim卡,所以想到要直接返回sim卡状态才行。所以再搜索getSimState() 如果你要问为啥你不搜索“支付失败啦”,那我就诚实的告诉你,那玩意儿搜不到。 搜索返回后,戳开smail代码,在getSimState() 后返回sim卡状态,如图1(还是参照淡然博客中的方法)。打包装回去后,点支付,大爷的,还是一样的提示...,看来是我打开方式不对

图1

3.既然返回sim卡状态不行,那我们直接搜索错误提示“没有找到sim卡”,有图2结果

图2
这不对啊,怎么不按套路出牌,两个信息都是错误的,为什么不是一个正确,一个错误的呢?
别急,把目光往右上角移动0.01公分,NO_SIM,好像中文意思就是没sim卡。好呢,那我们再搜索这个,然后就有了图3的结果

图3

4. 这时候要前后联系起来看了,如图4,图5中,同时出现了CHINA_MOBILE、CHINA_UNICOM、CHINA_TELCOM、NO_SIM 这就是sim卡的状态啊...但这怎么下手呢?

图4                                                                               图5

5. 大胆猜一下,这里是不是就根据no sim,46000,46003这些字符串来返回sim卡状态呢?如果我把NO_SIM替换为CHINA_TELCOM,那它返回的也就是中国电信的sim卡了,也就是爱游戏的娘家啊...好,那动手吧,如图6,将找到的结果全换为CHINA_TELCOM,当然那个字符串别动它,然后回编译

图6

6. 接下来就是见证常理的时刻,戳购买后,嗖的一下,提示成功啦...又可以愉快的发经验帖子了(游戏没意思,我只是体会下破解成功的快感)。图7

图7

思考:
1. 理论上只要将字符串“NO_SIM”那里返回的NO_SIM替换为CHINA_TELCOM,应该就可以绕过sim卡验证了;
2. 在这里可以强制sim卡状态,在多支付模式里,就可以在这里返回为CHINA_TELCOM,那样支付就不会跳支付提示,直接成功了。当然,强制返回46003,也是可以的

帖子首发:http://www.pd521.com/thread-228-1-1.html,另一个不错的安卓逆向论坛


相约一生 发表于 2015-1-19 09:19

楼主很厉害,已经攻破电信“爱游戏”,收费验证系统!

chkyin 发表于 2015-1-23 21:34

看到是新人贴就过来了,这是手机游戏吗,这都可以修改啊

s466692282 发表于 2015-1-18 18:56

好文章啊!!!

hlrlqy 发表于 2015-1-18 19:01

最爱安卓破文了,期待楼主继续发

fzh518 发表于 2015-1-18 19:04

manbajie 发表于 2015-1-18 19:05

哈哈看看干嘛用的

笨.蛋 发表于 2015-1-18 19:17

楼主厉害 安卓破文我喜欢

pzk2008 发表于 2015-1-18 19:18

厉害啊   呵呵 感谢

抗么卑鄙讠 发表于 2015-1-18 19:24

楼主厉害啊 学到了

凌宵 发表于 2015-1-19 22:23

积极学习
页: [1] 2 3
查看完整版本: 【新人首贴】内购破解中提示无SIM卡的一种解决思路,供和我一样的新人借鉴