1. 程式人生 > >FIF口語訓練利用漏洞刷分教程+完全破解版APP(Fiddler對Android應用進行抓包)

FIF口語訓練利用漏洞刷分教程+完全破解版APP(Fiddler對Android應用進行抓包)

目前很多大學的英語口語訓練都在用"FIF口語訓練"這款軟體。為了讓一些同學脫離英語的苦海,現公佈刷分漏洞+破解版APP,當然,我也希望該公司能儘快修補漏洞,以保證軟體可以正常使用,軟體介面如下:

2017-11-15更新:破解版注入對話方塊,可修改任何分數

 

【1】利用漏洞刷分原理
使用過軟體的同學,應該都知道,咱們每次通關一次測驗後,在本地生成分數,然後上傳到伺服器資料。問題就在這裡,我們是否可以在上傳資料的時候,截斷資料,再修改資料呢?答案是肯定的。如下圖所示。在這裡,咱們用到的工具就是著名的抓包軟體Fiddler和一個Android模擬器。
 

【2】漏洞利用過程
接下來,咱們實測,我們先將Fiddler配置好,為了節約時間,我為大家找了篇百科,大家按照它配置下fiddler和Android模擬器,
https://jingyan.baidu.com/article/03b2f78c7b6bb05ea237aed2.html
然後,開啟軟體,找一篇英語教程,我這裡找了一片雅思英語的教程,關於愛好興趣類的電影,如下圖所示:
 
然後,咱們再看看他的排行榜,最高分是多少分,如下圖所示,截至現在,最高分是來自中國海洋大學的一個同學,97分。
 

咱們退出排行榜,回到上一級頁面,在挑戰前,還有一個重要的事情,設定fiddler(如下圖所示,點選一下紅框,出現如圖所示圖示即表示設定好),然後再點選“挑戰“。
 
 

這時,你可以隨便讀,但一定要讀準幾個單詞,0分不會上傳資料,然後讀完後,會上傳報告


 

沒辦法,我只得了10分,不過10分就夠了,咱們改成98分,第一名,我們來到fiddler,fiddler會幫助我們攔截請求,如下圖:

 

最後那一長條資料就是咱們上傳的分數了。提取到記事本檢視,我這裡用的是sublime,我截取了其中的一條。complete,fluency,learn_time,accuracy,score分別對應,完整度、流暢度、學習時間、發音、分數,然後咱們利用正則表示式來修改後面的數值

部分正則表示式:
完整度:"complete":"[0-9]{1,2}"   替換為 "complete":"XX"
流暢度: "fluency":"[0-9]{1,2}"   替換為 "fluency":"XX"
其他的以此類推了,我就不寫了,XX代表你要改成多少分,這裡的分可以超過100分,但是超過100分就太假了。


 


其實這裡如果想要懶一點,就可以只改分數,但是推薦自己好好讀一下,如果成績不理想,可以適當提高下分數。


改好後,再次複製到fiddler中
 
複製後,點選那個綠色的框,Run to Completion,退出軟體檢視分數即可

  

我們成功獲取了,第一的名次,名字和大學是隨便寫的。




【3】APP破解


看過上面的過程是不是感覺到很繁瑣,接下來還有一種方便的方法,可以一勞永逸。就是對APP進行逆向,修改上傳資料。

JEB進行反編譯,檢視原始碼,找到關鍵類,Report類,關鍵函式uploadAnsDetail()(關鍵函式查詢小提示:這裡可以在Androidkiller裡利用搜索learn_time,fluency等這些關鍵詞,找到關鍵函式)

 

我習慣用Jeb看原始碼,感覺比jd-jui清楚,如上圖,這些資料是一個一個設定的,然後去Android killer修改smali程式碼,打包程式,

 

找到smali程式碼中設定分數的地方,在前一句加上   const-string v15, "89"  ,打包程式。
安裝打包後的程式,無論咱們怎麼讀,最後都會是89分,這種方法一勞永逸。哈哈哈

最後附上,我修改的任意修改分數的破解版本:

  

1232.png (30.38 KB, 下載次數: 0)

下載附件  儲存到相簿

2017-11-15 18:07 上傳



執行後,截圖是這樣,在課程裡面點選右上角滑稽,可彈出右側介面,在每次讀英語之前輸入分數,即可,如果輸入0或者空白或者點選預設,則不會修改任何資料,將會按照實際分數上傳。

下載連結:連結:http://pan.baidu.com/s/1bP8ike 密碼:kc9l