常用的js hook 脚本

1. 解除反debugger调试 

var _constructor = constructor;
Function.prototype.constructor = function(s) {
    
    if ( s== "debugger") {
        console.log(s);
        return null;
    }
    return _constructor(s);
}

2. hook headers

!(function () {
    var org = window.XMLHttpRequest.prototype.setRequestHeader;
    window.XMLHttpRequest.prototype.setRequestHeader = function (key, value) {
        if (key == '9501109cc9c77e19abba') {
            debugger;
        }
        return org.apply(this, arguments);
    }
})()

3. hook cookie

!(function(){
    var _cookie = '';
    Object.defineProperty(document, 'cookie', {
        set:function(val){
             console.log(val);
            if (val.indexOf('ICNet[sct]') != -1){
                console.log(val);
                debugger;
            };
            _cookie = val;
            return val;
         },

        get: function(){
            console.log(_cookie)
            return _cookie;
        }
    })
})();

4. hook xhr 请求

(function () {
    var open = window.XMLHttpRequest.prototype.open;
    window.XMLHttpRequest.prototype.open = function (method, url, async) {
        if (url.indexOf("analysis") != -1) {
            debugger;
        }
        return open.apply(this, arguments);
    };
})();

5. hook json stringify

!(function() {
    var stringify = JSON.stringify;
    JSON.stringify = function(params) {
        console.log("Hook JSON.stringify ——> ", params);
        debugger;
        return stringify(params);
    }
})();

6. hook json parse

(function() {
    var _parse = JSON.parse;
    JSON.parse = function(ps) {
        console.log("Hook JSON.parse ——> ", ps);
        debugger;
        return _parse(ps);  // 不改变原有的执行逻辑 
    }
})();

7. hook array

_push = Array.prototype.push
Array.prototype.push=function(){
  if(typeof arguments[0]==="string"){
          console.log("hook array");
          debugger;
          _push.apply(this,arguments)
  }
}

8. hook createElement

document.hookCreateElement = document.createElement;
document.createElement = function(tagName){
    if(tagName === "a"){
        debugger;
    }
    return document.hookCreateElement(tagName);
}

9. hook sessionStorage


!(function () {
    var org = window.sessionStorage.setItem;
    window.sessionStorage.setItem = function (key, value) {
         console.log("hooking>>>>>>>>>:",key)
         if (key == "sign_params"){
           
            debugger
        }
        return org.apply(this, arguments);
    }
})()

  • 9
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值