当前位置: 首页 > Web前端 > JavaScript

记一次美妙的js解密体验

时间:2023-03-27 14:45:14 JavaScript

前言我家有个亲戚是老师。他们最近在进行培训活动,需要观看指定的培训视频。于是找到我,让我帮忙做一个自动化训练程序,希望通过程序完成登录,批量导入账号,自动学习功能。目标网站aHR0cHM6Ly9pcHgueWFueGl1LmNvbS8=0x1。开始分析打开的页面,然后直接显示登录页面。distinctId=183ea7dcf872ef-060972e1be9a65-26021c51-2073600-183ea7dcf88347X-DT-accessTokenX-DT-clientId:ums-teacher-pcX-DT-Passport初步判断请求头中的这五个参数可能是加密参数。直接用F12开发工具搜索Authorizationvars={Authorization:"Basicc2FucmVuLXRlYWNoZXItcGM6MjZlZEV0WmlObTJ3NzZwbFhT",srxUserInfo:i.a.get("srxUserInfo")||在前端js中编码,本网站前端使用的vue。经过分析,srxUserInfo存放在localStorage中。登录请求的时候,这个参数就已经生成了,只是从localStorage中取出来的。什么时候储存的?经过我的分析,distinctId的生成规则就到这里了。第一代会存储在localStorage中,以后每次请求都会从localStorage中取。varn=function(){for(vare=1*newDate,t=0;e==1*newDate;)t++;返回e.toString(16)+t.toString(16)}functiongenerate(){vare=String(screen.height*screen.width);e=e&&/\d{5,}/.test(e)?e.toString(16):String(31242*Math.random()).replace(".,"").slice(0,8);vart=n()+"-"+数学。随机的()。到字符串(16)。replace(".","")+"-"+function(e){vart,a,n=导航器。userAgent,i=[],o=0;函数r(e,t){vara,n=0;对于(a=0;a=4&&(o=r(o,i),i=[]);返回i.length>0&&(o=r(o,i)),o.toString(16)}()+"-"+e+"-"+n();返回t||(String(Math.random())+String(Math.random())+String(Math.random())).slice(2,15)}console.log(generate());开始测试登录请求这样,我们需要的参数都准备好了,拿出我的神器ApiPost,成功请求返回值如下接口协议基本处于0保护状态。解密难度0。如需js解密或js加密,可联系作者。联系jsjiami.com你可以在这里找到我。TrueConclusion其实最后发现不用这两个参数也能成功请求。。。。