bigbirdl 发表于 2020-4-15 21:20

借助DDMS实现游戏内购的一点思路

本帖最后由 bigbirdl 于 2020-4-15 21:30 编辑

最近在整DDMS,越用越感觉它的强大。今天没事利用DDMS完成了一个游戏的内购,特与大家分享下思路。
大神们勿喷啊,个人心得。不对地方请大神们指点哈。谢谢哈。
打开DDMS与模拟器。设置好链接。确保DDMS能够挂上模拟器。当然用手机更方便些。

如果挂接成功,能看到ddms的log记录中有一大堆数据。如果连不上或者连接失败,那就还是与上张图片一样空白。

但是这么多数据,怎么方便找到我们需要的数据呢?需要进行一点设置。
我们打开ak,把需要修改的游戏拉入。


查看androidmanifest,找到package

记下来我们需要的数据,也就是这个游戏的代码:com.leyo.z24

回到ddms中,点击saved filters 后面的加号。

输入我们记录的游戏代码。点击OK。

设置后,与我们游戏不相干的数据就不会出现了。也就是说,再出现的数据,都是与我们游戏
有关系的。

安装进入游戏。到达需要内购的界面。

点击购买。

出现支付弹窗。

可以看到ddms中已经开始出现数据了。

看看,我们需要的东西出来了:leyo pay : z001购买4格背包。
说明我们的购买动作,与leyo pay这个函数有关系。

回到AK,直接搜索leyo pay。

可以看到,只有一个结果,双击进入。

空白处右击,查看java源码。(当然有的游戏反编译失败就看不到了,这时可以借助别的工具,比如jeb,mt等)

这个就比较简单了。paycancel,payfaild,paysuccess。

可以轻易判断,它们都是调用了方法callback2js。

右键复制该方法

回到ak中搜索。

虽然搜索出一大堆数据,但是分别打开后可以判断出结果。我们要找的是方法。不是方法的就不用关注了。

结果只有一个,在最下面。双击进入。


抹黑部分是注释。从注释可以看出,p2的意思是结果result。


回忆下刚才的源码。能看出0 0 两个零都代表支付失败,1代表支付成功。

不需要思考了,直接加一句,给p2直接赋值为1。表示成功。后面代码再多,我们都不用看。

保存编译。

卸载原来游戏,安装新的。
再来到内购界面

点击确定后弹出支付窗口。

点击×。显示购买成功。

同时在ddms中可以看到反馈的数据。


购买其他东西试试。




至此破解成功。

































































































































































































































































































































bigbirdl 发表于 2020-4-15 21:29

不知道为什么发帖后,下面有大段的空白处,而在编辑界面却看不到删不掉,请大大们指点下。我好重新编辑帖子。

纷飞了眼泪 发表于 2020-4-15 22:37

学习下,简单的游戏能破

冷诗烟 发表于 2020-4-15 21:34

有成品吗?

hydome 发表于 2020-4-15 21:42

很不错的思路

liujg 发表于 2020-4-15 22:15


感谢楼主分享精彩教程

Yang|阳 发表于 2020-4-15 22:20

感谢分享一下。。。。学习一下

moluo 发表于 2020-4-15 22:41

感谢分享教程。

chenbangbin 发表于 2020-4-15 23:32

详细,学习学习了

GT十月枫城 发表于 2020-4-15 23:41

大哥,可以分享以下DDMS吗,我找了好久这东西:'(weeqw
页: [1] 2 3 4 5
查看完整版本: 借助DDMS实现游戏内购的一点思路