吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 23665|回复: 77
收起左侧

[Android 原创] 《大圣觉醒》内购破解流程展示

  [复制链接]
Red_0range 发表于 2017-2-23 20:19
本帖最后由 Red_0range 于 2017-2-28 14:20 编辑

    大圣觉醒-内购破解流程展示
                                                                                           Written_by:Red_0rang
snipaste20170223_202116.jpg

论坛的提醒功能太鸡肋,有意图讨论问题的请给我站内信谢谢。

0x00.前言
图片难传,详细图片流程请见附录文档
简单的练手项目,不是很难。姿势一般,欢迎提供建议。
游戏的主要玩法是弹幕类闯关,坐骑即为武器为主要氪金项目。
进入游戏,有一段亘长的游戏指导,因此主要破解目标为游戏内购破解
用到的工具:
监视器Android Studio自带的monitor
监视器反汇编           Android Killer
模拟器           夜神模拟器
比对软件       beyond compare
0x01.简单游戏内购破解
夜神模拟器在联网的环境下去自动破解部分简单游戏,先在断网模式下分析
打开monitor,再打开夜神模拟器//注意顺序(注:monitor与android studio不要同时打开)
Apk拖拽安装打开,monitor找到了这个游戏名类似的包名
发现有两个:
com.ducheng.dashengjuexing.yyh
com.ducheng.dashengjuexing.yyh:unicomptsrv
分别添加监视器,之后在监视器中查看收发包即可
一段蛋疼的指导教学之后进入氪金界面点击购买宝石,在monitor中查看接收的包

监视器中发现了有价值的信息

购买失败后的界面
购买流程中的收发包现在两个思路:
搜索字符串
搜索函数
先搜索字符串原apk拖到Android Killer后搜索
先进行编码转换
转码后ctrl+f搜索无结果
再搜索收发包中的CmGamePayCallBack,发现其实质为一字符串(log日志)
成功找到后查看源码
发现时期就一switchcase语句
在分析反编译发现编译器分别用pswitch_0和pswitch_1表示支付成功/失败的两种情况
并用goto进行判断跳转,那么简单的将pswitch_0中的内容覆盖pswitch_1中的内容
或者将packed-switch 下的内容改为:pswitch_0:pswitch_0


Ctrl+shift+s全部保存,重新编译文件
找到编译后的文件,打开夜神重新安装一段蛋疼的指导动画之后。。。。重新购买,虽然提示支付失败(之后再优化),但发现可以成功充值
0x02.进阶达成购买宝石目的之后还要解决购买弹窗的问题幸好一次动画之后就不需要再反复观看了,我暂时也没办法修改跳过新手教程先清空一下monitor的log窗口,之后点击购买钻石弹出窗口后分析调用
点击支付后的信息
提示支付成功后的信息现在,思路与套路的时间:分别分析Opay-startPay与CmGamePayCallBackOpay-startPay找到三个,经分析是第一个
同时再将“支付成功“和”支付失败“的字样转u搜索发现支付成功在a class中,且只有一个
Opay-startPay所在的函数中先调用了a类,之后用生成了一个d支付回调类
再继续分析d类
我们可以进入UnipayAccountPlatform进行修改让它不生成界面,而这样做比较麻烦本来打算用简单的goto修改跳转以及参数,这里没有达成这个目标,作罢也可以将取消支付改成支付成功的内容
这样我们点击取消按钮就可以得到宝石了最终修改后的反编译的代码如下(理解思路)
0x03.总结
我把个人的破解流程总结如下:
不过我认为最大的总结是,这次程序的信息都是通过android.util.log类找到的,但是没事干嘛要打印日志信息呢,说明这个软件就是拿来练手的。。。

分析报告:http://pan.baidu.com/s/1gf9QytH  密码:7oib

原apk链接:http://pan.baidu.com/s/1boZ0J3D 密码:1zf7

免费评分

参与人数 31吾爱币 +38 热心值 +31 收起 理由
若~ + 1 + 1 用心讨论,共获提升!
斜月无锋 + 1 + 1 鼓励转贴优秀软件安全工具和文档!
小征1122 + 1 + 1 谢谢@Thanks!
a42010316 + 1 + 1 必须支持
Lullaby. + 1 + 1 谢谢@Thanks!
ningjing2011 + 1 + 1 热心回复!
najiu123 + 1 + 1 我很赞同!
zhangjijie + 1 + 1 我很赞同!
红灯笼224 + 1 + 1 用心讨论,共获提升!
xyt + 1 + 1 热心回复!
qtfreet00 + 9 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
夜影古月映 + 1 + 1 谢谢@Thanks!
笑熬豆浆 + 1 热心回复!
kkpljat + 1 + 1 用心讨论,共获提升!
mini07 + 2 + 1 用心讨论,共获提升!
hmy + 1 + 1 用心讨论,共获提升!
lhzs600 + 1 + 1 谢谢@Thanks!
王佳伟 + 1 + 1 感谢您的宝贵建议,我们会努力争取做得更好!
tlmjay + 1 热心回复!
海风的褶皱 + 1 + 1 用心讨论,共获提升!
jzp + 1 + 1 用心讨论,共获提升!
rzlsysw01 + 1 + 1 谢谢@Thanks!
Three_fish + 1 + 1 谢谢@Thanks!
tail88 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
soyiC + 1 + 1 我很赞同!
acmepoyen + 1 + 1 谢谢@Thanks!
dadao815 + 1 + 1 谢谢@Thanks!
chenjingyes + 1 + 1 谢谢@Thanks!
不懂767 + 1 + 1 用心讨论,共获提升!
当红灬依赖 + 1 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
FantasyOwl + 1 + 1 我很赞同!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

linneng 发表于 2017-7-10 00:16
其实只要两个switch判断定,都改成0,另外采用goto语句跳转支付取消环节就可以了。这是内购版常见的套路。
晓晓520 发表于 2017-2-24 07:28
Red_0range 发表于 2017-2-23 21:44
论坛有,虽然和我方法不一样
网速不行,不上传了

哦,谢谢楼主了
FantasyOwl 发表于 2017-2-23 20:35
maomaolang199 发表于 2017-2-23 20:40
感谢分享
lxczjkw 发表于 2017-2-23 20:57
感谢发布原创教程
晓晓520 发表于 2017-2-23 21:27
楼主有能玩的吗?
nmsl 发表于 2017-2-23 21:29

感谢发布原创教程
YuniNan0 发表于 2017-2-23 21:31
感谢分享!!!
 楼主| Red_0range 发表于 2017-2-23 21:44
晓晓520 发表于 2017-2-23 21:27
楼主有能玩的吗?

论坛有,虽然和我方法不一样
网速不行,不上传了
萌牛工厂 发表于 2017-2-23 22:02
感谢发布原创教程
mql1990 发表于 2017-2-23 22:39
收藏下来去研究   感谢分享
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-24 15:29

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表