破解一款学习软件的快进功能


近日参加一个培训,被要求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