【爬虫】Hook

命由我作

个人主页:丷从心

系列专栏:爬虫

学习指南:【进收藏夹吃灰】爬虫学习指南

福自己求


constructor

!(function () {
    var _constructor = constructor;

    Function.prototype.constructor = function (arg) {
        if (arg == 'debugger') {
            console.log('Hook constructor --> ', arg);

            return null;
        }

        return _constructor(arg);
    }
})();

JSON.stringify

  • 网址:(Base64aHR0cHM6Ly9mYW55aS55b3VkYW8uY29tL2luZGV4Lmh0bWwjLw==、(Base64aHR0cHM6Ly9lYy5taW5tZXRhbHMuY29tLmNuL2xvZ29uQWN0aW9uLmRv、(Base64aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vc2luY2UvZmFrZQ==、(Base64aHR0cHM6Ly93d3cuYmlyZHJlcG9ydC5jbi9ob21lL2FjdGl2aXR5L3BhZ2UuaHRtbA==
!(function () {
    var _stringify = JSON.stringify;

    JSON.stringify = function (arg) {
        console.log('Hook JSON.stringify --> ', arg);

        return _stringify(arg);
    }
})();

JSON.parse

  • 网址:(Base64aHR0cHM6Ly9lYy5taW5tZXRhbHMuY29tLmNuL2xvZ29uQWN0aW9uLmRv、(Base64aHR0cHM6Ly93d3cuYmlyZHJlcG9ydC5jbi9ob21lL2FjdGl2aXR5L3BhZ2UuaHRtbA==
!(function () {
    var _parse = JSON.parse;

    JSON.parse = function (arg) {
        console.log('Hook JSON.parse --> ', arg);

        return _parse(arg);
    }
})();

XHR

  • 网址:(Base64aHR0cHM6Ly93d3cuaml6aHkuY29tLzQ0L3Jhbmsvc2Nob29s
!(function () {
    var _open = window.XMLHttpRequest.prototype.open;

    window.XMLHttpRequest.prototype.open = function (method, url, async) {
        if (url.indexOf('param') != -1) {
            debugger;
        }

        return _open.apply(this, arguments);
    };
})();
var arg = 'sign';
var debug = true;

!(function () {
    var _XHR = window.XMLHttpRequest;

    window.XMLHttpRequest = function () {
        var xhr = new _XHR();
        var _open = xhr.open;

        xhr.open = function (method, url) {
            console.log('XHR request:', url);

            if (method == 'GET') {
                var split_url = url.split('?');
                if (split_url.length > 1) {
                    var params = split_url[1].split('&');
                    params.forEach(function (param) {
                        var key_value = param.split('=');
                        if (key_value[0] == arg) {
                            console.log('参数', arg, '已找到, 值为: ', decodeURIComponent(key_value[1]));

                            if (debug) {
                                debugger;
                            }
                        }
                    });
                }
            }

            if (method == 'POST') {
                var _send = xhr.send;

                xhr.send = function (data) {
                    if (data) {
                        if (data.includes(arg)) {
                            console.log('data --> ', data);

                            if (debug) {
                                debugger;
                            }
                        }
                    }

                    _send.call(this, data);
                };
            }

            _open.call(this, method, url);
        };

        return xhr;
    };
})();

Cookie

  • 网址:(Base64aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuLw==
!(function () {
    var _cookie = '';

    Object.defineProperty(document, 'cookie', {
        set: function (arg) {
            console.log('Hook Cookie --> ', arg);

            _cookie = arg;

            debugger;
        },
        get: function () {
            return _cookie;
        }
    })
})();

清除控制台原理

<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <title>清除控制台原理</title>
</head>

<body>
    <script>
        setInterval(function () {
            var _0x3c87f3 = performance.now();

            debugger;

            var _0x9022e8 = performance.now();

            if (_0x9022e8 - _0x3c87f3 > 0x64) {
                window.location.href = 'about:blank';
            }
        }, 0x64)
    </script>
</body>

</html>

油猴脚本

// ==UserScript==
// @name         hook console
// @namespace    http://tampermonkey.net/
// @version      2024-10-07
// @description  hook 控制台
// @author       从心
// @match        *://*/*
// @grant        none
// @run-at       document-start
// ==/UserScript==

!(function () {
    'use strict';

    window.setInterval = function () { };
})();

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值