个人主页:丷从心
系列专栏:爬虫
学习指南:【进收藏夹吃灰】爬虫学习指南
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
- 网址:(
Base64
)aHR0cHM6Ly9mYW55aS55b3VkYW8uY29tL2luZGV4Lmh0bWwjLw==
、(Base64
)aHR0cHM6Ly9lYy5taW5tZXRhbHMuY29tLmNuL2xvZ29uQWN0aW9uLmRv
、(Base64
)aHR0cHM6Ly9qenNjLm1vaHVyZC5nb3YuY24vc2luY2UvZmFrZQ==
、(Base64
)aHR0cHM6Ly93d3cuYmlyZHJlcG9ydC5jbi9ob21lL2FjdGl2aXR5L3BhZ2UuaHRtbA==
!(function () {
var _stringify = JSON.stringify;
JSON.stringify = function (arg) {
console.log('Hook JSON.stringify --> ', arg);
return _stringify(arg);
}
})();
JSON.parse
- 网址:(
Base64
)aHR0cHM6Ly9lYy5taW5tZXRhbHMuY29tLmNuL2xvZ29uQWN0aW9uLmRv
、(Base64
)aHR0cHM6Ly93d3cuYmlyZHJlcG9ydC5jbi9ob21lL2FjdGl2aXR5L3BhZ2UuaHRtbA==
!(function () {
var _parse = JSON.parse;
JSON.parse = function (arg) {
console.log('Hook JSON.parse --> ', arg);
return _parse(arg);
}
})();
XHR
- 网址:(
Base64
)aHR0cHM6Ly93d3cuaml6aHkuY29tLzQ0L3Jhbmsvc2Nob29s
!(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
- 网址:(
Base64
)aHR0cDovL3d3dy5mYW5nZGkuY29tLmNuLw==
!(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 () { };
})();