温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

webpack的js加密代码该怎么扣

发布时间:2021-10-09 16:31:28 来源:亿速云 阅读:478 作者:柒染 栏目:编程语言

webpack的js加密代码该怎么扣 ,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。

今日网站

aHR0cHM6Ly93d3cuZ205OS5jb20v

这个网站来自咸鱼的技术交流群

webpack的js加密代码该怎么扣  

本来是好奇是什么网站用 Reres 匹配不了看看是不是出了什么新的反爬措施

结果分析下来并不是,不过分析都分析了,就写篇文章,这个网站的加密使用了 webpack 所以就顺手分析下应该怎么扣

还是那句话:通用算法的话不用扣,直接引用加密库,别给自己找事

webpack的js加密代码该怎么扣  
 

加密定位

知道加密是登陆使用的密码,所以直接找登陆请求,目的明确的定位里面的加密参数 password

webpack的js加密代码该怎么扣  

两种方法定位:

1、检索password参数定位

2、在network按照initator中列举的js直接溯源

webpack的js加密代码该怎么扣  

用第二种方法,先进去下断点,然后再次点击登陆就进入断点了

多调试几次就找到了下面这里的位置

webpack的js加密代码该怎么扣  
s = (new Date).getTime() 
r = g.encode(t.password, s)
p = {...password: r,}
 

根据上面的伪代码可以看到现在位置的就是g.encode这个方法

webpack的js加密代码该怎么扣  

继续断点,然后请求,可以看到下面这样的逻辑

webpack的js加密代码该怎么扣  

基本就完事了,rsa 加密公钥的就在上面setPublicKey地方,使用通用加密导包的方式复现加密,整个流程到这里就结束了

 

加密分析

既然开始的时候说到要看看这里使用的 webpack,这里简单看看

先看看这里 webpack 的特征

将这里全部的代码复制到编辑器中,将括号都收缩好

整体结构是这样的伪代码

!function(x){
xxxxx
}([
function xxx,
function xxxx,
function xxxxx,
]);
 
webpack的js加密代码该怎么扣  

是不是和上面的伪代码一毛一样

除了结构之外,webpack 最重要的是他还有一个方法的加载器,加载后就是分析 webpack 加密的时候经常会看到xxx(90)、xxx['xxxx']这样的调用,扣代码的时候感觉代码全是套娃

他的模块加载器一般在代码的最上面,也有一些网站是将这个代码拆分到别的 js 文件中

像我们这个网站是在最上方

webpack的js加密代码该怎么扣  

他先定义了一个空的s,然后在n里面做了判断,判断s[t]有没有东西,如果有就不进入下面的逻辑了

所以这个模块加载器一般在网站加载之后就不会再进去了。

webpack的js加密代码该怎么扣  

所以我们分析的逻辑里会看到一个s=r(3)是已经加载好的

断点下在这个位置是不会断住的

需要在现在模块加载器上下上断点,然后刷新网站,就会断住了

webpack的js加密代码该怎么扣  
webpack的js加密代码该怎么扣  

点击i[3]的回显就可以看到s=r(3)的代码在什么位置了

 
webpack 怎么扣

1、原来的代码是有加载器的 我们也弄一个加载器

2、模仿上面伪代码的方式定义自己的模块列表

这里自己的模块列表内容容就是加密参数经过的加密逻辑代码,抠出来放进去

放到代码里红框的位置

webpack的js加密代码该怎么扣  

3、扣取到代码不会报错就可以了,之后就是导出对应的方法照着加密的逻辑一个个拿来用就完事了

看完上述内容,你们掌握webpack的js加密代码该怎么扣 的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注亿速云行业资讯频道,感谢各位的阅读!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI