借助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中可以看到反馈的数据。
购买其他东西试试。
至此破解成功。
不知道为什么发帖后,下面有大段的空白处,而在编辑界面却看不到删不掉,请大大们指点下。我好重新编辑帖子。 学习下,简单的游戏能破 有成品吗? 很不错的思路
感谢楼主分享精彩教程 感谢分享一下。。。。学习一下 感谢分享教程。 详细,学习学习了 大哥,可以分享以下DDMS吗,我找了好久这东西:'(weeqw