重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
本篇内容主要讲解“JS逆向技术怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“JS逆向技术怎么使用”吧!
让客户满意是我们工作的目标,不断超越客户的期望值来自于我们对这个行业的热爱。我们立志把好的技术通过有效、简单的方式提供给客户,将通过不懈努力成为客户在信息化领域值得信任、有价值的长期合作伙伴,公司提供的服务项目有:域名申请、虚拟空间、营销软件、网站建设、隆尧网站维护、网站推广。
用浏览器抓一波登陆包:
可以看到有 _abr_
和 beibeitoken
两个加密参数。
我们再找找发现beibeitoken
是上一个请求返回的:
还是老套路,搜就完事了:
通过关键字就找到一个相关文件,先进去看看。
先打上断点,重新登录一下,成功进入断点说明位置十有八九是找到了,F11进去看看里面的加密逻辑是什么样的。
我们一个个跟进去研究下:
u,d,a,e,s
这几个加密都可以通过上图的方法追踪到对应的加密。
这里我们主要研究f
与m
的加密逻辑。
先看看f
的加密逻辑:
1var f = d.length ? (0,l["default"])(d.join("&")) : ""
这里跟进去看看l["default"]
是什么:
这里的e
是初始化加密算法,我们再跟进去看看:
看到这里我已经不怎么想扣代码了,这么多乱七八糟的什么东西,要是真抠出来估计头发要掉一半。
而且这个代码看着也不像自写的算法,估计也是套的通用的那几种算法,所以我开始翻之前扣过的代码,果然让我找到了:
上面的代码是不是长得有点像,为了验证这个想法我把js里关于加密的代码扣下来look look
不得不说好的编辑器可以让你事半功倍,看到图中划线的地方这个参数的加密方法就一目了然了。
我们可以直接把它改成Python实现:
from hashlib import md5def md5value(s): a = md5(s.encode()).hexdigest() return a
接下来继续分析m
的加密方法:
1m = (0,c["default"])(g, "ytU7vwqIx2UXQNsi");
有了上面的铺垫,我们继续追进去分析一波:
接下里就是编辑器表演的时候了
到此,相信大家对“JS逆向技术怎么使用”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!