一般情况下,在chrome浏览器上使用JS对window document等对象是无法hook的,除非魔改浏览器底层代码,原因是因为对象的configurable属性为false
这样如果需要对document对象使用JS进行hook,首先需要一个可配置的chrome浏览器,可以在我的资源中进行下载。
有了可配置的浏览器后,就可以在浏览器中执行hook的JS脚本,这个脚本在我的资源中也可以下载。
在可配置浏览器中执行脚本后,如下
可以看到document类型已经是Proxy,并且属性configurable为true.
最后我们就可以根据需要使用脚本在浏览器中对关键位置进行hook,从而得到一份日志,再根据我们的nodejs框架工具(当然每个人可能有自己的工具,重点就是nodejs和浏览器执行相同的hook脚本进行日志对比)执行同样的hook脚本,再获取到一份日志,再使用工具对比两份日志,就可以根据区别点去调整补环境代码。
这里重点是提供思路,在浏览器底层进行hook,输出日志,再和nodejs输出日志对比,保持日志格式一致,方便对比,也是可以的。
同时分享了hook脚本和可配置的chrome浏览器,请不要用于非法用途。