xkrj5

近日参加一个培训,被要求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倍,所以只要进出两次就能耍完这个视频了,直接跳过他中间的人脸识别了。就是不知道他后台是怎么记录的,会不会给查出来。。。

 

分类:

技术点:

相关文章:

  • 2021-08-06
  • 2021-12-08
  • 2021-11-13
  • 2021-11-28
  • 2021-07-02
  • 2021-10-05
  • 2021-12-04
猜你喜欢
  • 2022-02-08
  • 2022-12-23
  • 2021-11-29
  • 2021-12-05
  • 2021-08-25
  • 2021-10-05
  • 2022-02-13
相关资源
相似解决方案