記錄一次失敗的手機APP抓包爬蟲

目標APP:易班

目的:實現自動打卡

失敗原因:無法破解易班APP對我們學校登錄的headers裏面的signature和authorization,logintoken(進行過多種解碼,無法獲得有效信息)。利用dex2jar反編譯APP無法獲得全部代碼。

下面是整個流程

  1. 手機先安裝Packet Capture進行抓包。抓到如下(藍色爲send,紅色爲return)圖片與圖片之間不一定是同一次抓包

這是發出的第一個請求,這裏的Host還是在易班,在對比多次的請求後,發現
logintoken和authorization相同,也是url的一部分,變化沒有找到規律,有時一個上午相同,有時下一次請求會變,一天後會變化。
v_time爲15位時間戳
signature前面一部分不變,後面一些每一次不相同
在這裏插入圖片描述
第二次請求
還是易班的Host,其他都沒變化。
返回一個跳轉到我們學校的url,還給了幾個access_token,第一個yibanM_user_token爲我們的logintoken.第二個yiban_user_token未知。Location爲我們學校的認證url
在這裏插入圖片描述
第三次
即使跳到了我們學校,還是帶着之前的一系列認證的參數。
return 這裏最重要的東西Cookies出現了,有了Cookies,然後的打卡就不成爲問題。
Location 還是我們學校另外一個鏈接
在這裏插入圖片描述
直接複製上面的認證url,用代碼去請求不會報錯,但是拿到Cookies之後,想去Post打卡的url會報錯。
在這裏插入圖片描述
直接複製相應的Cookies去POST打開,也會出現同樣的錯誤。

在參考他人的時候發現了易班其他的api

url = 'https://mobile.yiban.cn/api/v2/passport/login?v=9.9.9&ct=99&account=' + urllib.request.quote(username) + '&passwd=' + urllib.request.quote(password)

居然是明文的,還是get請求,請求成功之後,然後訪問web_accesstoken_login_url
在這裏插入圖片描述
得到與APP相似的yibanM_user_token和yiban_user_token(多次訪問都沒有變化)但是沒有Location,無法跳到我們學校的認證的url,也就無法獲得相應的Cookies。不過下面的CNZZDA。。。和_cnzz_CV1253488264分別有易班的一個url和我們學校的url(進行urlDecode得到),這個我們學校的url不是認證的,而是我們學校提供給我們全體學校學生手機壞掉的時候,可以進行web進行打卡,這裏已經實現了代碼實現web的打開,但我們還是更希望自己破解APP的流程。
在這裏插入圖片描述

反編譯APP

參考文章
在這裏插入圖片描述
classes.dex有9m,jar只有16k,很明顯App是加密的,而且裏面的源碼只有幾個類
在這裏插入圖片描述
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章