<< Prev [ Mode: 12 ] Next >>

const handlers1={
	apply: function (target, thisArg, argumentsList) {
		const str=Reflect.apply(target, thisArg, argumentsList);
		printStr(str);
	}
};
window.decodeURIComponent=new Proxy(window.decodeURIComponent,handlers1);
//---------------------------------------------------
// If CJsObfShield_shift がある場合、CtSが1回目で止まる。
// 理由はCJsObfShield_shiftは内部で、function.toString()
// を実行しており、このOverrideは、それに正しい値を
// 返していないからである。
//---------------------------------------------------
let CtS=0;
const handlers2={
	apply: function (target, thisArg, argumentsList) {
		console.log("CtS: "+(++CtS));
		return "function toString() { [native code] }";
	}
};
window.decodeURIComponent.__proto__.toString=new Proxy(window.decodeURIComponent.__proto__.toString,handlers2);
Uncheck Remove JavaScript Error Report to see ERROR MESSAGE!
Open console.log for Error Messages.