zoukankan      html  css  js  c++  java
  • 神庙逃亡破解分析


    分析目标:破解神庙逃亡内购

    一.神庙逃亡网络验证破解
    首先用Android Killer载入, 然后编译,运行,发现提示盗版软件
     
    继续搜索dialog_initconfig_msg
     
    a方法show弹出了警告框,其主要是这个arg4.d为校验值
     
    向上层追踪来源于这里赋值,但是这个只没法做交叉引用,只好用堆栈法来进行跟踪了

    追踪得到这些信息
     
    一层层耐心的向上层跟踪关键点
     原来是发了包,把程序的签名发送过去了, 我们来抓包看看

    配置好burpsuite代理和手机端代理

     抓到包信息如下:(记住是没有修改的APK)
     
    看出来他post这么一些信息,看起来有点乱
    %7B%22appkey%22%3A%2275ed8c70047d3d140c7a%22%2C%22sign%22%3A%223876126041f65216720df7bbb14961a3%22%7D

    我们可以用burpsuite的smart decode解码一下很典型的json文件格式
     {"appkey":"75ed8c70047d3d140c7a","sign":"3876126041f65216720df7bbb14961a3"}

    典型的签名校验
    1. 我们修改函数让他总是返回正确的签名和apkkey
    2. 我们拦截包,每次发送指定的包都给他想要的包

    我们给他改掉让他每次返回都返回正确的签名
    com.idreamsky.lib.g.b   p ()
    我们直接修改该函数,在开头给他返回正确的签名
     
    此时我们发现绕过签名校验,成功的进入了游戏
     

    二. 内购破解
    内购界面

    点取消,弹出了用户取消按钮
     
     去搜索一下这个字符串  用户取消操作
     
    而且无法向上层回溯,同样上栈回溯法

    插入打印堆栈
     
    有效的信息就这2个
     

     
    给他把onUserOperCancel
     

    然后重编译运行
     
    这是上面传递的String arg4的值,打印出来如下
    看起来像是商品ID,那么我们是不是插入代码,传递参数让他调用onBillingSuccess就可以无限的刷金币和钻石了呢? 

    同样只是处于研究目录, 破解版就不放出来了


     





  • 相关阅读:
    VMware下Linux配置网络
    前端知识之查漏补缺二
    前端网络基础查漏补缺篇
    简单实现Promise
    前端知识之查漏补缺-1
    git tag
    云服务器安装node环境 mysql nginx
    js动画
    vue原理之双向绑定虚
    js的封装、继承与多态
  • 原文地址:https://www.cnblogs.com/bingghost/p/5828078.html
Copyright © 2011-2022 走看看