软件原版链接:http://www.wandoujia.com/apps/com.jianyou.jszzj.wdj

这款游戏是使用了九游的支付单机sdk,通过分析它的sdk支付代码,要想调用支付必须得先调用以下代码:

SDKCore.pay(this._zcActivity, payIntent, this.paylisten);

第一个参数为当前Activity,第二个参数为支付数据,第三个参数为支付结果监听器,

通过分析,我们可以采用两种方式破解它:

第一种:修改第二个参数payIntent,即修改他的支付数据,将金额改成0.01,即可破解!
下面是本游戏的支付参数设置代码:

 String productID = (String) mProductionInfo.get("Product_Id");String productName = (String) mProductionInfo.get("Product_Name");String price = (String) mProductionInfo.get("Product_Price");String orderId = (String) mProductionInfo.get("Order_Id");Intent payIntent = new Intent();payIntent.putExtra(SDKProtocolKeys.CP_ORDER_ID, orderId);payIntent.putExtra(SDKProtocolKeys.APP_NAME, "******");payIntent.putExtra(SDKProtocolKeys.PRODUCT_NAME, productName);payIntent.putExtra(SDKProtocolKeys.AMOUNT, price);//我们只要修改这个price为"0.01"即可.if (operator != 0) {payIntent.putExtra(SDKProtocolKeys.PAY_CODE, getPaycode(productID, operator));}try {SDKCore.pay(this._zcActivity, payIntent, this.paylisten);//调用支付} catch (Exception ex) {ex.printStackTrace();}

虽然这种方法破解简单,但仍需要支付0.01的现金,接下来我们来介绍第二种破解方式。

第二种就是修改他的第三个参数this.paylisten
监听代码如下:

private SDKCallbackListener paylisten = new SDKCallbackListener() {public void onSuccessful(int status, Response response) {boolean z = true;if (2 != status && response.getType() != 100 && response.getType() == 101) {response.setMessage(Response.OPERATE_SUCCESS_MSG);if (response.getData() != null) {try {String payType = new JSONObject(response.getData()).getString(PayResponse.PAY_TYPE);if (payType.equals("991") || payType.equals("992") || payType.equals("993")) {ThreeNetSDKHelper instance = ThreeNetSDKHelper.getInstance();if (response.getStatus() != 1) {z = false;}instance.purchaseOperatorResult(z);//核心代码,也是我们要破解的}} catch (JSONException e) {e.printStackTrace();}}}}

通过分析代码知道: instance.purchaseOperatorResult(z);当传入true时,即表明支付成功,我们只要强制传入true就可以破解了,不过它之前有一些判断条件,为了不影响调用,我们需要把这些条件删除,删除后如下:

private SDKCallbackListener paylisten = new SDKCallbackListener() {public void onSuccessful(int status, Response response) {ThreeNetSDKHelper instance = ThreeNetSDKHelper.getInstance();instance.purchaseOperatorResult(true);}}

这样就达到破解的目的了。
不过这样破解的并不完美,它仍然会调用9游支付界面,很麻烦!
我们可以直接在调用支付代码时,不让它调用,直接调用 instance.purchaseOperatorResult(true);
这样就能实现只要一点击购买按钮,立马就能支付成功!

总结

1.jadx的函数调用跟踪功能太好用了,

Android逆向之破解某僵尸游戏相关推荐

  1. 《教我兄弟学Android逆向03 破解第一个Android游戏 》

    上一篇 <教我兄弟学Android逆向02  破解第一个Android程序  >我带着你破解了我们自己编的一个小程序 里面我分析并讲解的一些smali语法你都记住了 给你布置的课后作业你发 ...

  2. Android逆向笔记-大部分内购游戏破解思路

    最近出了几个Android逆向的笔记,CSDN审核不通过,在此不再做详细的笔记,仅是记录下思路,免得CSDN审核不通过. 这里以单机游戏为例,大部分是单机内购游戏. 2020-07-05 10:35: ...

  3. Android逆向-APP破解练习(一)

    0x00 前言 0x01 环境 练习APP 使用工具 0x02 积累学习 破解点 破解积累 0x00 前言 为了可以更好的提高自己的逆向水平,所以决定记录一下每天破解的APP以及破解思路. 0x01 ...

  4. Android逆向笔记-破解自己编写的Android应用程序(开发及破解)

    这里开发使用的Android studio,使用的模拟器为: Pixel 2 API 22也就是Android 5的系统. 这里演示下开发的程序: 这里模拟了下激活程序,用户名是用户自己输入的,密码是 ...

  5. Android逆向笔记-破解某APP签名摘要算法

    这里科普几个摘要算法,散列算法(签名算法)有:MD5.SHA1.HMAC 用途:主要用于验证,防止信息被修.具体用途如:文件校验.数字签名.鉴权协议 MD5:MD5是一种不可逆的加密算法,目前是最牢靠 ...

  6. 教我兄弟学Android逆向

    作者论坛****账号:会飞的丑小鸭 课程导航: <教我兄弟学Android逆向01 编写第一个Android程序> <教我兄弟学Android逆向02 破解第一个Android程序 ...

  7. android逆向01:修改apk的资源文件,smali插桩

    前提: 有需求才有实现. android逆向能干什么?去除游戏中的广告,跳过各种支付达到付费效果,人为干预简化游戏流程直奔主题,无限增加各种付费道具,等等:当然可以对自己的apk进行逆向的逆向进行加固 ...

  8. Android中怎么破解游戏之修改金币数

    我们在玩游戏的时候总是会遇到一些东东需要进行购买的,但是我们可能又舍不得花钱,那么我们该怎么办呢?那就是用游戏外挂吧!我们这里说的是Android中的游戏,在网上搜索一下移动端游戏外挂,可能会找到一款 ...

  9. 逆向攻击破解安卓游戏

    ** 主要使用三个工具 ** 1.Il2CppDumper软件 2.IDA_Pro_v7.0软件 3.AndroidKiller软件 使用Il2CppDumper对关键函数的偏移进行分析,也就是找到相 ...

最新文章

  1. 我酸了~腾讯员工平均月薪 7.6 万 | 每日趣闻
  2. mysql数据库回滚日志_Mysql数据库应急响应中日志排查
  3. caffe web demo 搭建
  4. 读书笔记 - 企业精简架构
  5. 超图 for javascript 版本入门程序讲解
  6. 关于子对话框的创建与销毁
  7. RStudio-Desktop与RStudio-Server的启动方式
  8. Java-大集合拆分为指定大小的小集合
  9. 关于待机、休眠、睡眠的区别和优缺点
  10. linux 封装python,基于linux下python学习(封装)
  11. 想追身边的女孩?哥们我只能帮到你这份上了
  12. 百度编辑器ueditor自适应手机端
  13. cSpring Boot整合RabbitMQ详细教程
  14. PCB画板子常用快捷键总结
  15. 省赛模拟一 又一道简单题
  16. php高并发锁,redis锁,文件锁示例
  17. 【codeforces】【01字符串匹配】Equalize【Manthan, Codefest 18 (rated, Div. 1 + Div. 2)】
  18. 深圳居住证微信续签,续期
  19. 泰岳区块链-隐私计算之差分隐私算法概念了解
  20. 表白墙微信小程序源码

热门文章

  1. 基于JAVA网上蛋糕订购系统计算机毕业设计源码+系统+mysql数据库+lw文档+部署
  2. zabbix监控配置QQ邮箱服务
  3. 自学网络安全?零基础学网络安全?一般人我还是劝你算了吧
  4. 100个python算法超详细讲解:牛顿迭代法求方程根
  5. 是什么设备主导了5G核心传输网络?OTN智能传输平台
  6. Android事件分发机制详解及解决文案:史上最全面、最易懂
  7. GTS-阿里巴巴全新分布式事务解决方案
  8. h3c端口聚合实现服务器增加带宽,H3C动态链路聚合对接服务器双网卡
  9. 【Polya定理】SCU 4423
  10. 从事软件测试需要学自动化么