阿里云备案,长沙官网seo推广,曼联vs曼联直播,外贸网站营销建站声明#xff1a; 该文章为学习使用#xff0c;严禁用于商业用途和非法用途#xff0c;违者后果自负#xff0c;由此产生的一切后果均与作者无关
一、找出需要加密的参数
js运行 atob(‘aHR0cHM6Ly93d3cuYWlnZWkuY29tL3NvdW5kL2NsYXNzLw’) 拿到网址#xff0c;F12打开调…声明 该文章为学习使用严禁用于商业用途和非法用途违者后果自负由此产生的一切后果均与作者无关
一、找出需要加密的参数
js运行 atob(‘aHR0cHM6Ly93d3cuYWlnZWkuY29tL3NvdW5kL2NsYXNzLw’) 拿到网址F12打开调试工具点击任意导航发送请求找到 gei-common/jsonComp/f/awd/log.json 请求分析请求头、参数、响应结果会发现响应结果 b 加密 鼠标右击请求找到CopyCopy as cUrl(bash)打开网站https://spidertools.cn/#/curl2Request把拷贝好的curl转成python代码新建 aigei.py把代码复制到该文件 把header、cookie注释运行文件 aigei.py会发现可以请求成功说明heaer、cookie中不包含加密参数 新建 aigei.js 文件用于放扣下的代码
二、定位参数加密位置
切换到sources添加XHR拦截common/jsonComp/f/awd/log.json 点击任意导航发送请求一直点击跳到下一个函数看见 ajax 函数中的 success 打上断点 结束此次调试点击任意导航发送请求一直点击跳过断点当看到 success 断点并且有 b 加密数据过来说明解密是在此处解密分析代码会发现是经过 ajaxSuccJson 方法处理的而 ajaxSuccJson 方法 就在下方在 ajaxSuccJson 方法内部打上断点点击跳过断点进入ajaxSuccJson方法内部会发现是经过 c(b) 解密的鼠标悬浮到 c 方法上点击蓝色部分找到该方法并在方法内部的 if 、else都打上断点点击跳过断点会发现断点进入 esle 内部点击跳过函数调用会发现 u 是解密成功的明文数据把 else 内部的代码复制到 aigei.js
三、分析解密代码扣代码
看代码会发现 r、n、new AudioWaveParam、u (new llii1i1iill).ilil111lii(u)、u ili11liii(u, “il1looOo”) 是需要分析的把 r 打印在控制台上可以看出r响应结果分析代码得知 n 对应的是请求参数中的 w把请求参数复制到 aigei.js把 r 复制后从请求中复制 b 的返回结果修改 r 中 b 的值 鼠标悬浮到 new AudioWaveParam点击蓝色部分找到该代码位置把该代码复制到 aigei.js 鼠标悬浮到 (new llii1i1iill).ilil111lii点击蓝色部分找到该代码位置会看到 this.ilil111lii this.ilil111lii 是在 llii1i1iill 方法内部把 llii1i1iill 方法复制到 aigei.js 鼠标悬浮到 ili11liii点击蓝色部分找到该代码位置会看到 ili11liii 方法会发现代码内部有个 GeiJS在代码内部打上断点并把 ili11liii 方法复制到 aigei.js CtrlF在文件内搜索 GeiJS 会找到赋值的地方找到 GeiJS 第一次出现的地方新建 GeiJS.js 把代码全部拷贝到 GeiJS.jsGeiJS 就属于魔改后的算法 导入GeiJS.js运行 js 后数据解密成功main 后面两行代码注释是因为这两行代码是用来创建播放器对象的
四、验证结果
点击任意导航发送请求点击跳过断点直到看到 G24 循环完毕打印出 u 的值 修改 aigei.py运行成功后数据 b 解码成功复制刚才请求中的参数对比 b 的值是相同的