一個小玩意的逆向
前言:
“吹氣球,吹個氣球玩球球”......逆了一個小玩意,叫【紙飛機大亂鬥】,需攻破的主要有三個地方:請求body中message加密(req_sign)、ss-sign、返回資料message解密。俗話說:工欲善其事必先利其器,準備好jadx(jeb)、ida pro。
過程:
(一)、請求body中message加密(req_sign)
message裡面有很多資訊,大部分欄位均可通過hook方式拿到,其中req_sign是通過演算法計算出來的。
(1)開啟jadx,將apk拖入並查詢關鍵詞:req_sign,定位到具體程式碼位置:
(2)查詢到之後,應該就容易明白了,主要就是將三個字串拼接在一起然後進行一次MD5,三個字串分別是:當前時間戳、code_id的值、UUID隨機字串。
(二)、ss-sign
(1)同樣,先查詢字元:ss-sign,定位到實現程式碼處:
(2)一步一步跟蹤進去,你會發現呼叫了native方法,呼叫的so庫是:libnms.so,用ida開啟此so庫,裡面有具體的實現過程。但是...我的天讓我吐一會,混淆太嚴重,做了控制流平坦化,你需要做的是什麼呢,是去控制流平坦化,我需要做的是什麼呢,是直接上andserver,嘿嘿嘿(三連~)......andserver直接google教程就好了,很簡單。
(三)、返回資料message解密
(1)當你hook了很多資料,你會發現message解密是通過“AES/ECB/PKCS5Padding”去解密的,都知道,解密需要key,key從何而來,key從黃土高坡來...從message前17位字串來。
(2)現在來個反向定位,我們先定位“AES/ECB/PKCS5Padding”解密方法,然後查詢方法呼叫位置,一步步向前搜尋,即可找到key計算位置:
後記
具體程式碼不放了,免得被迫搞成只能VIP可見...思路就是以上思路,成不成就靠大家了...研究可以,不要亂搞...
我的vx:YY_yhzf
相關文章
- MySQL中這14個小玩意,讓人眼前一亮!!!MySql
- 一個PCIe板卡的逆向資料
- Unity一鍵自動將多個FBX檔案生成AB包+又一些小玩意Unity
- 對VM逆向的分析(CTF)(比較經典的一個虛擬機器逆向題目)虛擬機
- 羽夏逆向指引——破解第一個程式
- 【安卓逆向】一個畫圖AI軟體的會員分析安卓AI
- 逆向基礎(一)
- iOS逆向之二 一個簡單的Tweak外掛原理解析iOS
- 一道逆向題
- CreateProcess逆向分析-3環使用者層逆向分析(一)
- 前端開發技巧-那些不常見但十分有效的小玩意前端
- iOS 逆向程式設計之外掛和APP打包成一個debiOS程式設計APP
- 逆向基礎(十三) JAVA (一)Java
- iOS逆向-彙編基礎(一)iOS
- 逆向一款收費版的開發工具
- mybatis的逆向工程MyBatis
- 逆向工程通過某個欄位排序排序
- 逆向通達信 x 逆向微信 x 逆向QtQT
- 羽夏逆向——逆向基礎
- bugku一道逆向題目分析
- 逆向 Model 的 Composer 包
- 小白的MyBatis逆向工程MyBatis
- Android 逆向(四) - adb常用逆向命令Android
- 這個爬蟲JS逆向加密任務,你還不來試試?逆向入門級,適合一定爬蟲基礎的人爬蟲JS加密
- IOS 逆向開發(一)密碼學 RSAiOS密碼學
- 一道關於逆向的實戰CTF題目分析
- 再記一次經典Net程式的逆向過程
- 逆向淺析常見病毒的注入方式系列之一-----WriteProcessMemorySSM
- 記一次Net軟體逆向的過程(經典)
- Ratel:一直站在Android逆向巔峰的平頭哥Android
- 【JS逆向百例】cebupacificair 航空逆向分析JSAI
- 逆向工程核心原理(1)逆向基礎
- Mybatis逆向工程和新版本MybatisPlus3.4逆向工程的使用MyBatisS3
- 逆向3
- 逆向logmein
- SMC逆向
- JS 逆向JS
- Flutter逆向Flutter