“VM”表示的是Virtual Machine(虚拟机),这些文件通常表示由浏览器生成和执行的虚拟机脚本环境中的临时脚本。这些脚本并不是项目源代码的一部分,也不是实际存在的物理文件。 它们在浏览器的内存中创建并执行;通过eval函数或者new Function方法,Chrome浏览器会创建一个"VM"文件来展示这段临时执行的代码。
在第一次page.url(文档响应)中,通过脚本断点设置,找到外链js位置,以及自执行函数,
通过正则方式搜索call,调用eval方法,执行js代码:
正则表达式:\S{4} = \S{4}[\S{4}[\d{2}]](\S{4},
搜索到的结果:$zv = $2M[$Kt[19]]($1F, _$mR);
亦可通过hook cookie实现,代码如下:
//监测eval的动作
(function(){
var _eval = eval;
eval = function(params){
debugger;
return _eval(params)
}
}())
(该方法尚未尝试,若实现该方法,需要学习hook知识。)
之后,点击单步执行,进入VM中。