【新人首贴】内购破解中提示无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,另一个不错的安卓逆向论坛
楼主很厉害,已经攻破电信“爱游戏”,收费验证系统! 看到是新人贴就过来了,这是手机游戏吗,这都可以修改啊 好文章啊!!! 最爱安卓破文了,期待楼主继续发 哈哈看看干嘛用的 楼主厉害 安卓破文我喜欢 厉害啊 呵呵 感谢 楼主厉害啊 学到了 积极学习