1. 程式人生 > 其它 >我i科大報平安抓包與逆向過程

我i科大報平安抓包與逆向過程

寫在前面

因為要寫這個專案自動打卡機器人,需要對我i科大抓包分析,因此記錄一下

踩坑過程

在剛開始時踩了很多坑,從模擬器到真機,用FD到frida...

安卓版本太高無法抓包

因為我的手機是安卓12版本,各種抓包軟體都是說需要root才能抓包,所以這條路直接放棄

安卓模擬器

真機不行自然想到模擬器抓包

雷電4

雷電4模擬器是安卓7.0版本,我一般對模擬器抓包都是用FD代理抓包,但是各種配置完成之後卻抓不到。
然後我查了官方論壇,官方的解釋是因為對核心的修改導致的


於是我轉戰3.0版本,但是3.0版本我i科大貌似對模擬器的環境不支援,或者模擬器環境缺少了必要的東西,會有以下情況


一直載入...
無計可施的情況下,我想到了frida

這個工具,雖然對安卓逆向不是很瞭解,但是我多少聽說過這個工具,於是打算用frida對雷電4進行抓包

frida+雷電4

frida hook抓包例子
參考了這個文章,我開始了對frida的研究
抓包指令碼我使用的是r0captureGitHub上可以搜尋到這個專案
經過一天的研究,總有能正常抓包的時候,我又遇到了問題。
雖然雷電4能加載出各個服務,但是報平安功能進去卻是一片空白...
於是轉戰frida+真機進行抓包

frida+真機

真機在開啟frida-server時需要許可權,也就是root
我就找了之前的舊手機刷root,折騰半天之後,舊手機是安卓6,r0capture只能7以上
我直接裂開

fd+真機

於是我又想到了這個,通過電腦開熱點,手機代理的方法,成功抓到了登入以及上報的包

分析與逆向

從登入包中可以找到一個deviceId欄位,看字面意思就是一個裝置id,但是很短像是隻進行了簽名,並不能再解密


以防萬一,我又逆向了我i科大app
使用AndroidKiller進行逆向之後,並不是很確定的找到了一個關於deviceId計算


很容易看到這裡進行了MD5運算,但是很容易想到,這裡的deviceId是24位,md5是32位,所有應該不是這裡。(我太菜了,找不到)
然後我隨便改了幾位發現依舊能獲取到正確的token,證明猜想沒問題。
後邊的上報的包也沒加密,就不用分析了。

總結

(安卓逆向有時間還是要學一學,不然用的時候真不會)