移动安全技术_安卓逆向5:绕过单机游戏的商店支付
Posted hunpi
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了移动安全技术_安卓逆向5:绕过单机游戏的商店支付相关的知识,希望对你有一定的参考价值。
环境说明
安装apk
游戏apk说明:难以运行在安卓7、安卓5,适合运行在安卓4。不能在手机上运行。
本机已安装的夜神只支持安卓5和安卓7,需要下载2020年5月左右的夜神版本。
安装安卓夜神6.3.0.0,运行“夜神多开器”,点击“添加模拟器”,选择android/4.4.2,运行模拟器。把apk拖拽到模拟器,安装应用成功。
配置monitor
我们可以使用Windows自带的monitor来查看主机与程序交互的过程,
本地monitor位置:C:\\Users\\Administrator\\AppData\\Local\\Android\\Sdk\\tools\\monitor.bat。
目标测试
运行游戏,进入商店:
尝试购买商品,返回“支付失败,请稍后重试”。
开始逆向
使用AndroidKiller打开滚动的天空_1.1.0.140.apk,反编译项目:
找到工程搜索模块,搜索相关信息"支付失败,请稍后重试",没有找到;缩减关键字继续搜索"支付失败",找到相关字符信息,双击string查看:
在安卓程序中,中文字符通常被编码成Unicode字符,形式是\\uxxxx。使用在线网站https://www.jb51.net/tools/onlinetools/jiemi/uniendecode.htm
对"支付失败"进行Unicode编码,得到%u652F%u4ED8%u5931%u8D25
。也可以使用AK自带的编码转换器。
将密文中的%
替换成\\u
,得到\\u652F\\u4ED8\\u5931\\u8D25
在$smali
文件中寻找相关输出代码,找到OppPay$2$1.smali
:
查看关键代码,看到onFailure()和onSuccess()函数,使用支付成功的函数内容,全部替换支付失败的函数内容:
对修改后的项目进行编译,在AndroidKiller_v1.3.1\\projects\\滚动的天空_1.1.0.140\\Bin
目录下找到滚动的天空_1.1.0.140_killer.apk,拖拽到夜神模拟器(需要先卸载之前安装的版本),安装成功。
效果测试:点击"其他支付",再点击取消,可以看到道具购买成功!
以上是关于移动安全技术_安卓逆向5:绕过单机游戏的商店支付的主要内容,如果未能解决你的问题,请参考以下文章
移动安全技术_安卓逆向4-使用AndroidKiller插入广告页