破解一款學習軟件的快進功能


近日參加一個培訓,被要求8號前刷完100課時的在線課程,第一次看不能快進,還會有攝像頭抓怕你進行人臉識別,識別通過才能繼續觀看。看完一次后再去看就能拖動進度條了,於是我就想試試破解他的快進限制功能(不然刷要刷不完了。。。)。
1、用MT管理器查看發現沒加固,nice!

 

 

 3、用dex2jar將classes.dex反編譯,並用jd-gui.exe查看,(我用Androidkiller反編譯失敗了,不知道是不是配置有問題)發現有一個VideoDkDone和一個VideoDkUnDone,很顯然一個是看完一遍的,一個是沒看完一遍的,這樣只要把兩個相互對比就會輕松很多。

 

 


4、對比之下,我找到了initView函數的不同,VideoDkUnDone里面缺少控制視頻播的代碼,於是我將VideoDkDone中的initView替換過去,結果出錯了。

 

 

5、再仔細找了下,我在VideoDkUnDone中發現了setVideo這個函數,原來是把播放控制放在這里了,里面有一個setCanChangePosition(這名字起的真直觀)和setGestureEnable設置為true就可以快進了。

 

 

6、現在能夠向右滑動快進,但是一次快進的不多,而且還是不能直接拖動進度條,隨后我看到了skipPositionWhenPlay這個函數似乎與改變觀看進度有關,於是我將后面那個1000的參數換成了10000,使用后發現這個函數是讀取你的歷史觀看時間,然后跳到那個時間,我給他增大10倍后每次重新進去就會把我原來的觀看時間擴大10倍,所以只要進出兩次就能耍完這個視頻了,直接跳過他中間的人臉識別了。就是不知道他后台是怎么記錄的,會不會給查出來。。。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM