錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統(tǒng)|0416-3905144熱誠服務技術文章
用Fiddler實現(xiàn)某干教網App學習記錄修改

作者: 佚名  日期:2023-07-26 13:58:50   來源: 本站整理

 1.準備工作
        首先當然是下載安裝和配置Fiddler,基本上是按照論壇里bigbirdl大神寫的教程一步一步做的,https://www.52pojie.cn/thread-1171662-1-1.html
        因為我用的是MACOS,只能在虛擬機里進行安裝,需要注意的是因為Fiddler所運行的主機(既我的Windows虛擬機)需要和手機在同一個局域網(Wifi)里,所以在虛擬機的網絡設置里,需要改為“橋接網絡(Wifi)”,否則無法正常抓取手機上的數(shù)據(jù)包。Fiddler設置好并運行后如下圖
 
        另外,個人習慣是把“Rules”菜單下的“Hide CONNECTs”選項給勾選上,這樣可以不看建立連接用的數(shù)據(jù)包(這些數(shù)據(jù)包里沒有我們關心的數(shù)據(jù)),避免刷屏。另外,抓手機的數(shù)據(jù)包里,可以暫停本機(電腦)數(shù)據(jù)包的抓取,方法是單擊一下左下角的那個“Capturing”字樣處,該處無顯示時即可。
2.開始抓包
        手機打開某干教網程序,登錄后進入在線學習頁面,在開始學習前,可以在Fiddler當前Session列表(即顯示一大堆已經抓到的數(shù)據(jù)包相關信息的窗口)里按“Ctrl+X”快捷鍵把之前操作過程中抓到的數(shù)據(jù)清除,準備尋找和分析學習記錄上傳的相關數(shù)據(jù)包。
  
        選了一個2學時的課程,獲得學時需要1小時2分24秒。老實說課講得都非常好,但是我們只要學時,就對不起王老師了😂。開始播放后,我點擊了暫停(實際上在后來的分析中發(fā)現(xiàn),App會定時自動回傳學習記錄,也會在用戶暫停的時候馬上回傳一次學習記錄)。Fiddler上馬上抓到了一系列數(shù)據(jù)包,我們來逐個看一看。
 
        先是幾個"isLogin",應該是判斷登錄信息是否過期的,跳過。然后重點來了,這個"addStudyRecord.json"你們覺得可疑不可疑?這命名簡直太規(guī)范了,還有下面那個"addNtStudyTime.json",初步鎖定就是這兩個文件之一了,至于后面的coursedetail這些課程信息相關的,直接忽略不計了。然后分別點開兩個包觀察了一下,addNtStudyTime.json里并沒有相關數(shù)據(jù),而addStudyRecord.json這個請求里,可以看到如上圖中的studyRecordList這個值,里面的字段也很好辨認(確實是命名很規(guī)范),前面是課程和學生的ID,然后是進入視頻的時間accessTimeStr、退出(暫停)時間exitTimeStr,接下來是playlength和playTime這兩個字段,從兩個字段的值可以明顯看出來應該是playlength,因為它的值正好就是退出時間減進入時間,單位看來是秒。那么只要把這個值改為我們想要的時長,在服務器端不作數(shù)據(jù)驗證(比如用exitTime減accessTime,算一下是否和playlength一致)的情況下,應該就可以達到我們速刷的目的了。
3.手動修改數(shù)據(jù)包
        在Fiddler里設置斷點,當App向服務器上傳數(shù)據(jù)的時候截獲并暫停,待我們修改相關數(shù)據(jù)以后再放行。
  
        上面兩個圖中的辦法都可以,也可以參考右圖上的快捷鍵,我們需要設的斷點是“Before Requests”,也就是App的請求發(fā)出前。然后回到手機上,恢復播放后再一次暫停。這時Fiddler上會顯示有請求被截獲并暫停,一開始可能并沒有我們關心的addStudyRecord請求,可以直接點工具欄上的“Go”(綠色小三角那個圖標)放行,直到addStudyRecord出現(xiàn),直接雙擊該數(shù)據(jù)包session,在右邊的窗口中修改。
 
        將playlength改為3600(即1小時),修改完以后一定要按“回車(好像要這樣才能保存修改,新手小白表示不明真相),之后點“Go”放行。在手機上看一下,修改生效了。
 
        學習進度從0%直接到96%了,實際上剛才修改的時候再多改一點(比如7200秒),就能直接學完課程拿學時。至此,目的達到,學時到手。不過還沒完,還有一個小彩蛋。
4.自動修改數(shù)據(jù)包
        既然上一章叫手動修改數(shù)據(jù)包,當然會有一個自動修改數(shù)據(jù)包的彩蛋。雖然能夠直接修改學習時長,比拿手機看1小時快多了,但是還是需要反復操作,挺麻煩不是。Fiddler還有一個很強大的功能,可以自動修改request數(shù)據(jù)(response當然也能)。進入Fiddler的Rules菜單,點擊Customize Rules...,快捷鍵CTRL+R,進入Fiddler ScriptEditor,直接修改Fiddler的自動化腳本。
   
        方便起見,幾張圖我就放一起了。在Fiddler ScriptEditor中進入Go菜單下的to OnBeforeRequest,跳轉到相應的函數(shù)里,然后在函數(shù)的最后面加上如下代碼。

[JavaScript] 純文本查看 復制代碼
if (oSession.fullUrl.Contains("http://mstudy-bjce.bjdj.gov.cn/mobile/module/mobile/mobileinterface/v1/mobilecourse/addStudyRecord.json")){ var reqStr=oSession.GetRequestBodyAsString(); //將playlength中的值修改 var prevInd=reqStr.indexOf('playlength%22%3A')+16; var nextInd=reqStr.indexOf('%2C%22playTime'); var myReqStr=reqStr.substring(0,prevInd)+'3600'+reqStr.substr(nextInd); Fiddler.FiddlerApplication.Log.LogString(myReqStr); oSession.utilSetRequestBody(myReqStr);}


        需要說明的是if判斷里的那個URL是在抓到addStudyRecord數(shù)據(jù)包后,右擊該數(shù)據(jù)包,選擇copy菜單下的Just URL,然后再粘貼出來的,也就是只針對這個請求進行修改。實際上,我自己在寫這段代碼的時候遇到很多麻煩,首先是RequestBody的值我一開始一直以為是JSON格式,但后來仔細看了一下數(shù)據(jù)包的TextView,發(fā)現(xiàn)并非如此。想用正則來替換playlength部分,在網上查了半天,發(fā)現(xiàn)Fiddler Script好像并不支持正則(如果有大神知道如何用正則煩請告知為謝),于是就只好用了個笨辦法,先找到playlength的位置,再找到后面playtime的位置,把兩頭的字符串都截出來,再加上我想要的學習時長,拼接成想要的RequestBody,然后發(fā)送。



熱門文章
  • 打印機點擊OK才能進紙不點ok,它就...
  • 筆記本連投影自動擴展非復制【解決...
  • 顯卡顯示器刷新率與游戲幀率FPS的關...
  • 大華錄像機添加海康攝像頭的方法
  • 廢舊手機會泄露隱私 恢復手機出廠設...
  • Win11默認輸入法怎么設置?Win11開...
  • 用Fiddler實現(xiàn)某干教網App學習記錄...
  • 病毒分析小白嘗鮮-GANDCRAB勒索家族...
  • 隱馬爾可夫模型及其算法
  • 華碩 GTX1050Ti Expedition 和 STR...
  • 顯卡維修經驗分享,RTX3080,描述為...
  • 藍天主板改集顯維修
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯(lián)系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區(qū)域: 遼寧錦州市區(qū)
    主要業(yè)務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數(shù)據(jù)恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 久久无码人妻一区二区三区午夜| 亚洲精品无码久久久久久久| 免费A级毛片无码专区| 国产AV一区二区三区无码野战 | 亚洲AV无码成人精品区在线观看| 久久国产三级无码一区二区| 国产网红无码精品视频| 亚洲av永久无码| 久久青青草原亚洲AV无码麻豆| 亚洲精品无码久久| 无码AV岛国片在线播放| 永久免费av无码网站大全| 精品无码国产自产在线观看水浒传| 18禁无遮挡无码网站免费| 九九久久精品无码专区| 亚洲人成人无码.www石榴| 日韩精品无码一区二区三区免费| 办公室丝袜激情无码播放| 无码精品不卡一区二区三区 | 亚洲精品无码午夜福利中文字幕| 精品少妇人妻AV无码专区不卡 | av无码东京热亚洲男人的天堂| 亚洲日韩精品无码专区加勒比 | 无码av免费毛片一区二区| 午夜不卡无码中文字幕影院| 十八禁视频在线观看免费无码无遮挡骂过| 亚洲AV无码精品蜜桃| 精品无码AV一区二区三区不卡| 亚洲精品高清无码视频| 亚洲一区AV无码少妇电影☆| 久久久人妻精品无码一区| 国产成人无码精品久久久久免费| 亚洲国产AV无码一区二区三区| 中文午夜人妻无码看片| 亚洲人av高清无码| 小12箩利洗澡无码视频网站| 午夜寂寞视频无码专区| 亚洲av无码不卡私人影院| 亚洲高清无码专区视频| 少妇无码太爽了在线播放| 无码精品视频一区二区三区|