1.zoro是一个国外的动漫平台,逆向它是因为混淆的js,并且是返回值加密。
2.逆向分析
定位播放链接和播放地址的接口,打开开发者工具,找到一个播放的地址,
全局搜索master.m3u8,发现无法搜索和定位到任何内容。说明是有些地方加密返回的,继续往上寻找接口,就找到了一个getsource的接口。
找到接口,就开始逆向这个接口。点击启动器,最后一个点击进入js,发现是混淆的。
尝试搜索decrypt,运气不错,有这样的字段,就尝试打上断点。
刷新页面,进入断点,看堆栈信息,找到关键方法和加密的方法。
到这里就很熟悉了,然后就是替换混淆后的变量名。
替换之后,获取到值,直接传入调用,就直接获取到了播放链接和文件类型。
接着就是m3u8的下载了。
点击查看master.m3u8的返回内容,发现是返回的各种码率的视频地址,也是m3u8。
接着发现请求其中一个码率的m3u8,返回的就是视频的切片信息,这样就可以来处理和下载视频了。
python代码编写
结果展示
逆向完成,m3u8文件切片下载完成,并合并成了一个完整的视频。3.通过分析,我们知道该动漫平台的播放链接和文件类型是通过一个名为getsource的接口获取的,而该接口的返回值是加密过的。因此,我们需要逆向这个接口,以便获取未加密的播放链接和文件类型。要逆向分析这个接口,我们可以使用浏览器的开发者工具。在浏览器中打开该动漫平台的网页,然后右键单击页面并选择“检查”或使用快捷键F12打开开发者工具。在开发者工具中选择“Network”选项卡,并刷新页面以加载所有资源。在“Network”选项卡中,我们可以看到所有的请求和响应。找到名为“getsource”的请求,并查看其请求参数和响应数据。在请求参数中,我们可以看到一个加密的字符串。而在响应数据中,我们可以看到一个解密的字符串。因此,我们可以断定该接口是使用了某种加密算法对请求参数进行了加密,然后对加密后的字符串进行解密来获取播放链接和文件类型。为了获取未加密的播放链接和文件类型,我们需要找到加密和解密的方法。首先尝试使用搜索功能搜索“decrypt”关键字,看看是否能找到解密的方法。如果找到了解密的方法,我们就可以尝试修改混淆后的变量名,以便更清晰地理解代码的逻辑。在找到解密方法后,我们可以使用Python代码编写一个程序来模拟该接口的请求并解密返回值。在程序中,我们可以使用requests库来发送HTTP请求,并使用Python内置的加密算法进行解密操作。通过逆向分析该动漫平台的getsource接口,我们成功地获取到了未加密的播放链接和文件类型,并使用Python代码编写了一个程序来自动化下载视频。最终,我们完成了对整个动漫平台的分析和爬取视频的过程。#秋日生活创作季#