分析目標:破解神廟逃亡內購
一.神廟逃亡網絡驗證破解
首先用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就能夠無限的刷金幣和鑽石了呢?
一樣只是處於研究目錄, 破解版就不放出來了