注入方式 另外,还有个问题需要关注,就是挂钩代码的注入方法。 最简单的就是F12调出控制台,直接执行上面的代码,但这样只能hook住执行之后的eval调用,如果希望从页面刚加载时就注入,那么可以用以下几种方式:油猴注入,油猴可以监听文档加载的几种不同状态,并在特定时刻执行js代码。我没有太多研究,具体请参见油猴手册 ...
首先是eval的挂钩代码: (function() {if(window.__cr_eval)returnwindow.__cr_eval=window.evalvarmyeval =function(src) {console.log("=== eval begin: length="+ src.length+",caller="+ (myeval.caller&& myeval.caller.name) +" ===")console.log(src);console.log("=== eval end ===")...
动态执⾏js代码⽆⾮两种⽅法,即eval和Function。那么,不管⽹站加密代码写的多⽜,我们只要将这两个⽅法hook住,即可获取到解密后的可执⾏js代码。注意,有些⽹站会检测eval和Function这两个⽅法是否原⽣,因此需要⼀些⼩花招来忽悠过去。挂钩代码 ⾸先是eval的挂钩代码:(function() { i...
首先是eval的挂钩代码: (function(){ if(window.__cr_eval)return window.__cr_eval=window.eval varmyeval=function(src){ console.log("=== eval begin: length="+src.length+",caller="+(myeval.caller&&myeval.caller.name)+" ===") console.log(src); console.log("=== eval end ===") ...
动态执行js代码无非两种方法,即eval和Function。那么,不管网站加密代码写的多牛,我们只要将这两个方法hook住,即可获取到解密后的可执行js代码。 注意,有些网站会检测eval和Function这两个方法是否原生,因此需要一些小花招来忽悠过去。 挂钩代码 首先是eval的挂钩代码: ...