Android安全-逆向Android安全-Reverse

Android逆向系列1:滑雪大冒险

2017-08-22  本文已影响55人  Henry3II

声明:本文内容只用作学习交流使用,若有人利用本文内容进行任何商业目的和非法牟利,带来的任何法律责任将由操作者本人承担,和本文作者没有任何关系。

这次要破解的软件原始版本和破解后的版本在这里:http://pan.baidu.com/s/1nv7Mpnz,密码:zhuk


首先打开软件,分析软件的行为:

看到购买道具那里需要支付,打开monitor监视该程序行为,在点击商店购买前将logcat信息清空,然后点击购买:

发现一些有用的东西:Yodo14GameSmsPay_SetPayCallback,YgSmsPayAdapterBase。

使用Androidkiller反编译apk文件,搜索下这几个敏感的字符串。

右键查看这部分的java源码,发现敏感的地方:

这里是返回支付结果是否成功的地方:

可以看到listener接口的方法作为参数传入了startPay()。

我们再回过头在AndroidKiller中看看startPay的反编译代码:

可以看到传入的第三个参数为listener,破解的思路就是在调用startPay() 函数时直接传入onSuccess。即在函数开始位置插入如下代码:

invoke-interface {p3}, Lcom/yodo1/sdk/game/Yodo14GameSmsPayListener;->onSuccess()V #调用listener接口的onSuccess()方法

return-void #返回出去

如图:

然后编译,安装。此时可以看到,已经可以直接购买了:


上一篇下一篇

猜你喜欢

热点阅读