Android逆向之旅---手遊「狂野飆車極速版」內購破解教程
感謝「許江渭」同學投稿,也歡迎廣大安全逆向愛好者積極投稿,分享不僅是一種精神也是一種快樂!
好久沒投稿了,主要是最近沒學到什麼新的東西,也比較忙,今天主要是想寫個so檔案在ida中的跳轉指令是如何生成的,就拿一個手遊例項來講,以我的習慣是,如果拿到一個apk檔案,首先就是先丟進Android killer反編譯,然後重新打包,再執行遊戲!
為什麼不是先安裝呢?主要是因為如果安裝了,然後進行遊戲,經過一堆新手教程,看到要破解的內容了(比如要修改金幣,或解鎖關卡),這時候再去反編譯,想要重新安裝的話,就無法覆蓋安裝了,又要過一堆新手教程才能觸發那個點,所以就是先反編譯,這是我的習慣,下面進入正題:
一、需要的工具
Android killer
IDA
010Editor
計算器(Windows自帶)
手機
二、逆向分析
還是和往常一樣先把apk丟進Android killer反編譯,安裝之後發現是手機螢幕一直是黑屏,猜測這個apk可能是做了手腳,還是以我以往的步驟,回退一步,使用四哥的kstool 先 hook簽名試試。關於kstools說明:Android中一鍵爆破簽名工具;安裝之後又是黑屏,這就哇塞了,好吧,也有可能這個遊戲本身就是不相容我的手機,安裝原版的試試,可以進
那就可以非常確定這個遊戲是真的做了防護。過了簽名驗證還是沒用這就操蛋了,因為個人習慣,我都是先試了所有的方法之後沒轍了,再去看看日誌有沒有什麼發現,這裡還是按照我的習慣來,那就把原包直接重新簽名試試。安裝後,竟然也可以執行,這樣看來有可能對dex檔案做了完整性校驗,這種情況就很難辦了,可能是驗證.dex的MD5值,或者xxx,各種校驗.。既然直接重新簽名可以執行,那我就改改.so檔案試試,(這裡是要破解內購,國內的很多遊戲基本上內購都是從smali層入手,我們這裡就不從smali層入手了,由於上面做了一堆校驗,這裡就先放棄去找smali中的校驗了(也有可能在別的地方校驗))。我們解壓這個apk檔案,找到lib\armeabi-v7a目錄下最大的那個.so檔案
用ida載入後,如果smali層要跟native層互動的話,肯定有要以java_xxxxx為函式名,這裡我們直接在Export欄搜尋:pay 試試,如下圖:
果真有一堆跟smali層互動的支付函式,這裡我們點選最後一個函式進去看看
從上上上圖中我們可以看到支付失敗和支付成功的邏輯差不多,就只有一個點是不一樣的,那這個地方很大可能性就是起到失敗和成功的關鍵,我們先假設smali層的支付會跟native層的這些函式互動,那我們就直接把PayFailed中的那個關鍵跳轉也改為和PaySuccess一樣,接下來就是關鍵的東西來了,會涉及到一些公式。
計算公式: (B-(A+8))/4;以上面為例:(22B640 - (37F15C + 8)) / 4 = FFFFFFFFFFFAB137;得到結果後,取最後6位,即:FAB137;再倒序,得到:37B1FA + EB
按照這個公式,我們就把PayFailed中的那個改過來,都是跳轉到sub_22B640,具體怎麼算就按照上面那個公式來算,算出來之後使用010Editor編輯器,根據偏移地址把指令改過來
最後改完之後應該是這樣的,如下圖:
不要忘記這裡還有些支付方法(第一,二,三條),也順手把他改過來,套路跟上面一樣
改完之後,替換原來的那個.so檔案,重新打包,簽名,執行遊戲。 哈哈哈,成功!
嚴重說明
本文涉及到的遊戲樣本和破解後的apk檔案可以去小密圈自取,為了安全考慮不進行公開,希望大家利用本文技術作為研發目的,絕不可以用於非法目的,否則後果自負與本文作者無任何關係!點選立即進入小密圈
三、總結
這裡主要講到跳轉指令是怎麼生成的,和利用一些關鍵詞去修改,這只是我的一些思路,如果你有搞怪的方法,還請留言一起探討下,最後還是那句:以上只是用來技術交流,如果您使用該已經破解的遊戲用於任何非法用途,均與本作者無關。
手機檢視文章不方便,可以網頁看
http://www.520monkey.com
《Android應用安全防護和逆向分析》
長按下面
相關文章
- Android逆向之旅--瘋狂兔子無敵跑跑 內購破解教程Android
- Win10/Win8.1版《狂野飆車8:極速凌雲》重灌上陣Win10
- 《狂野飆車9:競速傳奇》今夏登陸Nintendo Switch™!
- Android逆向之旅---動態方式破解apk終極篇(加固apk破解方式)AndroidAPK
- win10玩狂野飆車8閃退的原因_win10玩狂野飆車8閃退是怎麼回事Win10
- Android逆向之旅---靜態分析技術來破解ApkAndroidAPK
- 極速傳真[SpeedFax] 2.4 破解手記--程式逆向分析演算法演算法
- Facebook將推免費雲遊戲平臺 首發5款遊戲含《狂野飆車9:競速傳奇》遊戲
- 阿里互娛攜手Gameloft釋出《狂野飆車9:競速傳奇》,8月8日iOS燃擎公測!阿里GAMiOS
- 內網穿透教程,簡單,便捷,極速穿透內網埠內網穿透
- 阿里互娛攜手Gameloft重磅釋出《狂野飆車9:競速傳奇》國服,8月8日iOS燃擎公測!阿里GAMiOS
- 科隆國際遊戲展:黑鯊聯合Gameloft《狂野飆車》系列賽冠軍大獎誕生遊戲GAM
- Android逆向之旅---動態方式破解apk進階篇(IDA除錯so原始碼)AndroidAPK除錯原始碼
- Android逆向之旅---靜態方式破解微信獲取聊天記錄和通訊錄資訊Android
- Android逆向之旅---靜態方式分析破解視訊編輯應用「Vue」水印問題AndroidVue
- Android逆向之旅---破解某支付軟體防Xposed等框架Hook功能檢測機制Android框架Hook
- Android逆向之旅---動態方式破解apk前奏篇(Eclipse動態除錯smail原始碼)AndroidAPKEclipse除錯AI原始碼
- 賽車競速遊戲:極限競速地平線2Horizon Chase 2中文原生版遊戲
- 極速精簡 Go 版 LogstashGo
- Android 手遊閃屏極簡方案Android
- 記一次Android逆向之旅(入門向)Android
- Android逆向之旅---SO(ELF)檔案格式詳解Android
- Android逆向之旅--破解過濾掉某音短視訊的廣告和視訊水印問題Android
- 我的Vue之旅 11 Vuex 實現購物車Vue
- Android逆向之旅---Android應用的安全的攻防之戰Android
- iOS逆向之旅 — 總綱iOS
- Android逆向之旅---Android中的sharedUserId屬性詳解Android
- Navicat 破解版下載,Navicat破解教程
- 逆向破解MacOS AppMacAPP
- 極通首次為中小企業量身定製EWEBS極速版Web
- 搶先購買 iPhone6S/6S Plus極速購買攻略iPhone
- 手遊逆向分析: Unity內還原遊戲場景/角色渲染效果Unity遊戲
- 快上車,scrapy爬蟲飆車找福利(三)爬蟲
- 快上車,scrapy爬蟲飆車找福利(一)爬蟲
- 爬蟲進階教程:極驗(GEETEST)驗證碼破解教程爬蟲
- 悅動圈極速版 APP體驗報告APP
- IOS 蘋果內購最新教程iOS蘋果
- Android實現商城購物車功能Android