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);
}
})()