前言
前面一章讲的是模拟登录,留了一个模拟密码加密还没讲。
因为这一过程的调试探索还是蛮多内容的,我更倾向于记录自己整个探索的过程,而不是把工具拿出来讲一下用法,所以单独拿一章来讲。
调试过程
首先,既然要模拟js的加密过程,当然是要调试前端代码,从定位到起加密作用的js代码上面。
F12浏览器调试时,source目录下可以看到当前的浏览器的一些静态文件,包括页面,css,js等文件,一开始先定位到点击登录按钮之后,肯定会执行的js代码,然后在那个上面打断点。
像我要爬取的网站,会根据你所使用的浏览器使用不同的加密算法,所以要通过调试,知道它到底是怎么加密的。
打了断点之后,我成功找到了加密的代码,
可以看到起加密作用的就是ciper.Enrypt()
方法。把鼠标放在上面,点击如图所示出现的悬浮小窗里面的Enrypt(a,b)
,就跳到对应的js文件里面。
这里就有一个很神奇的东西了,跳到的js文件并不在我source目录中,而是一个VM+"一串数字"
的js中。
查询了去Stack Overflow上面查了之后,看到了如下回答
[VM] (scriptId) has no special meaning. It