好久没有发了,这次水一篇
python
let setProxyArr = function (proxyObjArr) {
for (let i = 0; i < proxyObjArr.length; i++) {
const handler = `{
get:function(target,property,receiver){
console.log("方法:","get","对象","${proxyObjArr[i]}","属性:",
property,"属性类型:",typeof property,"属性值:",target[property],"属性值类型:",typeof target[property]);
return Reflect.get(...arguments)
},
set:function(target,property,value,receiver){
console.log("方法:","set","对象:","${proxyObjArr[i]}","属性:",
property,"属性类型:",typeof property,"属性值:",value,"属性值类型:",typeof target[property]);
return Reflect.set(...arguments);
}
}`;
eval(`try{
${proxyObjArr[i]};
${proxyObjArr[i]} = new Proxy(${proxyObjArr[i]},${handler});
} catch (e){
${proxyObjArr[i]} = {};
${proxyObjArr[i]} = new Proxy(${proxyObjArr[i]},${handler});
}`);
}
}
function watch(object) {
const handler = {
get: function (target, property, receiver) {
if (property.includes('application')) {
debugger;
}
if (property !== 'isNaN' && property !== 'encodeURI' && property !== "Uint8Array" && property !== 'undefined' && property !== 'JSON') {
console.log("方法:", "get", "对象", target, "属性:",
property, "属性类型:", typeof property, "属性值:", target[property], "属性值类型:", typeof target[property]);
}
return Reflect.get(...arguments)
},
set: function (target, property, value, receiver) {
console.log("方法:", "set", "对象:", target, "属性:",
property, "属性类型:", typeof property, "属性值:", value, "属性值类型:", typeof target[property]);
return Reflect.set(...arguments);
}
}
return object
return new Proxy(object, handler)
}
// function watch(obj, obj_name) {
// // 如果 obj 是 undefined 或 null,返回原值
// if (obj === undefined || obj === null) {
// console.log(`警告: "${obj_name}" 是 ${obj === null ? 'null' : 'undefined'},跳过代理`);
// return obj;
// }
//
// // 如果不是对象类型(包括函数),也返回原值
// if (typeof obj !== 'object' && typeof obj !== 'function') {
// console.log(`警告: "${obj_name}" 不是对象或函数类型,而是 ${typeof obj},跳过代理`);
// return obj;
// }
//
// const handler = {
// get(target, property, receiver) {
// if (property === 'toJSON') {
// return target[property];
// }
// console.log(
// `方法: get | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 属性值类型: ${typeof target[property]}`
// );
// return Reflect.get(target, property, receiver);
// },
// set(target, property, value, receiver) {
// console.log(
// `方法: set | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 属性值类型: ${typeof value}`
// );
// return Reflect.set(target, property, value, receiver);
// },
// has(target, property) {
// console.log(
// `方法: has | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 检查自身或原型链属性是否存在`
// );
// return Reflect.has(target, property);
// },
// ownKeys(target) {
// console.log(
// `方法: ownKeys | 对象: "${obj_name}" | 获取自身可枚举属性键`
// );
// return Reflect.ownKeys(target);
// },
// getOwnPropertyDescriptor(target, property) {
// console.log(
// `方法: getOwnPropertyDescriptor | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 获取属性描述符`
// );
// return Reflect.getOwnPropertyDescriptor(target, property);
// },
// defineProperty(target, property, descriptor) {
// console.log(
// `方法: defineProperty | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 定义或修改属性描述符: ${JSON.stringify(descriptor)}`
// );
// return Reflect.defineProperty(target, property, descriptor);
// },
// deleteProperty(target, property) {
// console.log(
// `方法: deleteProperty | 对象: "${obj_name}" | 属性: ${typeof property === 'symbol' ? property.toString() : property} | 属性类型: ${typeof property} | 删除属性`
// );
// return Reflect.deleteProperty(target, property);
// },
// getPrototypeOf(target) {
// console.log(
// `方法: getPrototypeOf | 对象: "${obj_name}" | 获取原型链`
// );
// return Reflect.getPrototypeOf(target);
// },
// setPrototypeOf(target, proto) {
// console.log(
// `方法: setPrototypeOf | 对象: "${obj_name}" | 设置新原型: ${proto ? proto.constructor.name : 'null'}`
// );
// return Reflect.setPrototypeOf(target, proto);
// },
// // 为函数添加 apply 和 construct 处理器
// apply(target, thisArg, argumentsList) {
// console.log(
// `方法: apply | 对象: "${obj_name}" | 函数调用 | 参数数量: ${argumentsList.length}`
// );
// return Reflect.apply(target, thisArg, argumentsList);
// },
// construct(target, argumentsList, newTarget) {
// console.log(
// `方法: construct | 对象: "${obj_name}" | 构造函数调用 | 参数数量: ${argumentsList.length}`
// );
// return Reflect.construct(target, argumentsList, newTarget);
// }
// };
//
// return new Proxy(obj, handler);
// }
const safeFunction = function safeFunction(func) {
//处理安全函数
Function.prototype.$call = Function.prototype.call;
const $toString = Function.toString;
const myFunction_toString_symbol = Symbol('('.concat('', ')'));
const myToString = function myToString() {
return typeof this === 'function' && this[myFunction_toString_symbol] || $toString.$call(this);
}
const set_native = function set_native(func, key, value) {
Object.defineProperty(func, key, {
"enumerable": false,
"configurable": true,
"writable": true,
"value": value
});
}
delete Function.prototype['toString'];
set_native(Function.prototype, "toString", myToString);
set_native(Function.prototype.toString, myFunction_toString_symbol, "function toString() { [native code] }");
const safe_Function = function safe_Function(func) {
set_native(func, myFunction_toString_symbol, "function" + (func.name ? " " + func.name : "") + "() { [native code] }");
}
return safe_Function(func)
}
window = global
window.Buffer = Buffer
window.Window = function Window() {
}
Object.setPrototypeOf(window, window.Window.prototype)
window.setTimeout = function setTimeout() {
}
window.setInterval = function setInterval() {
}
window.clearInterval = function clearInterval() {
}
window.HTMLCollection = function HTMLCollection() {
this.length = 0;
}
window.addEventListener = function addEventListener() {
}
window.attachEvent = function attachEvent() {
}
window.IDBFactory = function IDBFactory() {
// console.log("IDBFactory", arguments);
}
window.IDBOpenDBRequest = function IDBOpenDBRequest() {
// console.log("IDBOpenDBRequest", arguments);
}
window.IDBFactory.prototype.open = function open(arg) {
if (arg === 'EkcP') {
return watch(new IDBOpenDBRequest(), "IDBOpenDBRequest")
}
// console.log("IDBFactory.open", arguments);
}
window.DOMParser = function DOMParser() {
}
window.XMLHttpRequest = function XMLHttpRequest() {
// console.log("XMLHttpRequest", arguments);
}
window.XMLHttpRequest.prototype.open = function (method, url) {
console.log("window.XMLHttpRequest.prototype.open :", method, url);
return url
}
window.XMLHttpRequest.prototype.send = function send() {
// console.log('window.XMLHttpRequest.send的参数为===>', arguments)
}
window.XMLHttpRequest.prototype.setRequestHeader = function setRequestHeader() {
// console.log('window.XMLHttpRequest.setRequestHeader的参数为===>', arguments)
}
window.XMLHttpRequest.prototype.getResponseHeader = function getResponseHeader() {
// console.log('window.XMLHttpRequest.getResponseHeader的参数为===>', arguments)
}
window.copy = function copy() {
}
window.CanvasRenderingContext2D = function CanvasRenderingContext2D() {
// console.log("CanvasRenderingContext2D", arguments);
}
window.CanvasRenderingContext2D.prototype.getImageData = function getImageData() {
}
window.MutationObserver = function MutationObserver() {
}
window.MutationObserver.prototype.observe = function observe() {
// console.log("MutationObserver.prototype.observe", arguments);
}
window.webkitRequestFileSystem = function webkitRequestFileSystem() {
// console.log("webkitRequestFileSystem", arguments);
}
window.unmonitor = function unmonitor() {
}
window.CSSStyleDeclaration = function CSSStyleDeclaration() {
// console.log("CSSStyleDeclaration", arguments);
}
window.DeprecatedStorageQuota = function DeprecatedStorageQuota() {
// console.log("DeprecatedStorageQuota", arguments);
}
window.MimeTypeArray = function MimeTypeArray() {
// console.log("MimeTypeArray", arguments)
}
window.open = function open() {
}
window.NetworkInformation = function NetworkInformation() {
}
window.BatteryManager = function BatteryManager() {
this.charging = true
this.chargingTime = Infinity
this.dischargingTime = Infinity
this.level = 0.95
this.onchargingchange = null
this.onchargingtimechange = null
this.ondischargingtimechange = null
this.onlevelchange = null
}
window.XPathExpression = function XPathExpression() {
}
// Node
window.Node = function Node() {
}
window.Node.prototype.appendChild = function appendChild() {
}
window.Node.prototype.removeChild = function removeChild() {
}
// Element
window.Element = function Element() {
window.Node.call(this);
}
window.Element.prototype = Object.create(Node.prototype);
window.Element.prototype.constructor = window.Element;
window.Element.prototype.getElementsByTagName = function getElementsByTagName(tagName) {
if (tagName === "i") {
return watch(new HTMLCollection(), "i🔴")
}
console.log(`Element.prototype.getElementsByTagName 的参数是🔴====> ${tagName}`);
}
window.Element.prototype.getAttribute = function getAttribute(arg) {
if (arg === "r") {
return "m"
} else if (arg === "webdriver" || arg === "selenium" || arg === "driver") {
return null
}
console.log(`Element.prototype.getAttribute 的参数是🔴====> ${arg}`);
}
// HTMLElement
window.HTMLElement = function HTMLElement() {
window.Element.call(this);
}
window.HTMLElement.prototype = Object.create(Element.prototype);
window.HTMLElement.prototype.constructor = window.HTMLElement;
// div => HTMLDivElement
window.HTMLDivElement = function HTMLDivElement() {
window.HTMLElement.call(this);
}
window.HTMLDivElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLDivElement.prototype.constructor = window.HTMLDivElement;
// head => HTMLHeadElement
window.HTMLHeadElement = function HTMLHeadElement() {
window.HTMLElement.call(this);
}
window.HTMLHeadElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLHeadElement.prototype.constructor = window.HTMLHeadElement;
// meta => HTMLMetaElement
window.HTMLMetaElement = function HTMLMetaElement() {
window.HTMLElement.call(this);
}
window.HTMLMetaElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLMetaElement.prototype.constructor = window.HTMLMetaElement;
window.HTMLMetaElement.prototype.parentNode = new HTMLHeadElement();
// script => HTMLScriptElement
window.HTMLScriptElement = function HTMLScriptElement() {
window.HTMLElement.call(this);
}
window.HTMLScriptElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLScriptElement.prototype.constructor = window.HTMLScriptElement;
window.HTMLScriptElement.prototype.parentElement = new HTMLHeadElement();
// form => HTMLFormElement
window.HTMLFormElement = function HTMLFormElement() {
window.HTMLElement.call(this);
}
window.HTMLFormElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLFormElement.prototype.constructor = window.HTMLFormElement;
// html => HTMLHtmlElement
window.HTMLHtmlElement = function HTMLHtmlElement() {
window.HTMLElement.call(this);
this.style = new CSSStyleDeclaration()
}
window.HTMLHtmlElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLHtmlElement.prototype.constructor = window.HTMLHtmlElement;
// a => HTMLAnchorElement
window.HTMLAnchorElement = function HTMLAnchorElement() {
window.HTMLElement.call(this);
this.href = "https://cggl.swun.edu.cn/sfw_cms/e?page=cms.psms.gglist&orgType=21&typeDetail=XQ&cate=100307"
this.hostname = "cggl.swun.edu.cn"
this.protocol = "https:"
this.port = ""
this.pathname = "/sfw_cms/e"
this.hash = ""
this.search = "?page=cms.psms.gglist&orgType=21&typeDetail=XQ&cate=100307"
}
window.HTMLAnchorElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLAnchorElement.prototype.constructor = window.HTMLAnchorElement;
// canvas => HTMLCanvasElement
window.HTMLCanvasElement = function HTMLCanvasElement() {
window.HTMLElement.call(this);
}
window.HTMLCanvasElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLCanvasElement.prototype.constructor = window.HTMLCanvasElement;
window.HTMLCanvasElement.prototype.toBlob = function toBlob() {
}
window.HTMLCanvasElement.prototype.toDataURL = function toDataURL() {
}
window.HTMLCanvasElement.prototype.getContext = function getContext(arg) {
if (arg === "2d"){
return watch(new CanvasRenderingContext2D(), "2d")
}
}
// input => HTMLInputElement
window.HTMLInputElement = function HTMLInputElement() {
window.HTMLElement.call(this);
}
window.HTMLInputElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLInputElement.prototype.constructor = window.HTMLInputElement;
window.HTMLInputElement.prototype[Symbol.toPrimitive] = function (hint) {
switch (hint) {
case 'default':
return '[object HTMLInputElement]';
default:
throw new Error();
}
};
// iframe => HTMLIFrameElement
window.HTMLIFrameElement = function HTMLIFrameElement() {
window.HTMLElement.call(this);
}
window.HTMLIFrameElement.prototype.constructor = window.HTMLIFrameElement;
window.HTMLIFrameElement.prototype.constructor = window.HTMLIFrameElement;
// body => HTMLBodyElement
window.HTMLBodyElement = function HTMLBodyElement() {
window.HTMLElement.call(this);
}
window.HTMLBodyElement.prototype = Object.create(HTMLElement.prototype);
window.HTMLBodyElement.prototype.constructor = window.HTMLBodyElement;
// all => HTMLAllCollection
window.HTMLAllCollection = function HTMLAllCollection() {
}
window.Document = function Document() {
window.Node.call(this)
}
window.Document.prototype = Object.create(Node.prototype);
window.Document.prototype.constructor = window.Document;
// delete global
// delete Buffer
delete __dirname
delete __filename
// delete process
window.top = window
window.self = window
window.window = window
window.indexedDB = watch(new IDBFactory(), "indexedDB")
window.ActiveXObject = undefined
window.CollectGarbage = undefined
window.name = ''
window.innerHeight = 1073
window.innerWidth = 1710
window.outerHeight = 1073
window.outerWidth = 1710
window.TEMPORARY = 0
window.chrome = watch({}, "chrome")
safeFunction(window.Window)
safeFunction(window.HTMLCollection)
safeFunction(window.addEventListener)
safeFunction(window.attachEvent)
safeFunction(window.IDBFactory)
safeFunction(window.IDBFactory.prototype.open)
safeFunction(window.DOMParser)
safeFunction(window.XMLHttpRequest)
safeFunction(window.copy)
safeFunction(window.CanvasRenderingContext2D)
safeFunction(window.CanvasRenderingContext2D.prototype.getImageData)
safeFunction(window.MutationObserver)
safeFunction(window.MutationObserver.prototype.observe)
safeFunction(window.webkitRequestFileSystem)
safeFunction(window.unmonitor)
safeFunction(window.CSSStyleDeclaration)
safeFunction(window.DeprecatedStorageQuota)
safeFunction(window.MimeTypeArray)
safeFunction(window.open)
safeFunction(window.NetworkInformation)
safeFunction(window.BatteryManager)
safeFunction(window.XPathExpression)
safeFunction(window.Document)
safeFunction(window.Node)
safeFunction(window.Node.prototype.appendChild)
safeFunction(window.Node.prototype.removeChild)
safeFunction(window.Element)
safeFunction(window.Element.prototype.getElementsByTagName)
safeFunction(window.Element.prototype.getAttribute)
safeFunction(window.HTMLElement)
safeFunction(window.HTMLDivElement)
safeFunction(window.HTMLHeadElement)
safeFunction(window.HTMLMetaElement)
safeFunction(window.HTMLScriptElement)
safeFunction(window.HTMLFormElement)
safeFunction(window.HTMLHtmlElement)
safeFunction(window.HTMLAnchorElement)
safeFunction(window.HTMLCanvasElement)
safeFunction(window.HTMLCanvasElement.prototype.toBlob)
safeFunction(window.HTMLCanvasElement.prototype.toDataURL)
safeFunction(window.HTMLCanvasElement.prototype.getContext)
safeFunction(window.HTMLInputElement)
safeFunction(window.HTMLIFrameElement)
safeFunction(window.HTMLBodyElement)
safeFunction(window.HTMLAllCollection)
meta = watch({
0: watch(new HTMLMetaElement(), "meta0🔴"),
1: watch(new HTMLMetaElement(), "meta1🔴"),
}, "meta🔴")
meta[1].content = "content文件"
// meta[1].content = "0braVdRWN8dlqLGAJle3XdiPoLHUGzNe7YWuvO3eJ0FL2HM4G02UzkCLo3ZDPe_H21eClreU6i8304cPzfl_aFgIPX_wsGovXLJA0uMcIkIWDKf3.r3CDxHOSpxmPaY5bAKr8bf5AWUDq5Jor_.kTjdzA2uf6tfWgE5nRR4E2U9"
script = watch({
0: watch(new HTMLScriptElement(), "script0🔴"),
1: watch(new HTMLScriptElement(), "script1🔴"),
length: 2,
}, "script🔴")
script[0].innerText = ""
script[0].src = ""
function HTMLDocument() {
this.visibilityState = "visible";
}
// HTMLDocument.prototype.documentElement = watch(new HTMLHtmlElement(), "html")
HTMLDocument.prototype.body = null
HTMLDocument.prototype.head = watch(new HTMLHeadElement(), "head")
HTMLDocument.prototype.all = watch(new HTMLAllCollection(), "all")
window.Document.prototype.createElement = function createElement(arg) {
if (arg === "div") {
return watch(new HTMLDivElement(), "div🔴")
} else if (arg === "a") {
return watch(new HTMLAnchorElement(), "a🔴")
} else if (arg === "iframe") {
return watch(new HTMLIFrameElement(), "iframe🔴")
} else if (arg === "form") {
return watch(new HTMLFormElement(), "form🔴")
} else if (arg === "input") {
return watch(new HTMLInputElement(), "input🔴")
}
console.log(`window.Document.prototype.createElement 的参数是🔴====> ${arg}`)
debugger
}
window.Document.prototype.getElementById = function getElementById(id) {
if (id === "T0cvvbuwl3my") {
return meta[1]
} else if (id === "root-hammerhead-shadow-ui") {
return null
}else if (id === "a"){
return watch(new HTMLAnchorElement(), "a")
}
// console.log(`window.Document.prototype.getElementById 的参数是🔴====> ${id}`)
debugger
}
window.Document.prototype.getElementsByTagName = function getElementsByTagName(tagName) {
if (tagName === "base") {
return new HTMLCollection()
}
if (tagName === "script") {
return script
}
if (tagName === "meta") {
return meta
}
console.log(`window.Document.prototype.getElementsByTagName 的参数是🔴====> ${tagName}`)
debugger
}
window.Document.prototype.createExpression = function createExpression(arg1, arg2) {
if (arg1 === '//html') {
return watch(new XPathExpression())
}
console.log('window.Document.prototype.createExpression的参数为===>', arg1, arg2)
}
window.Document.prototype.addEventListener = function addEventListener() {
}
window.Document.prototype.attachEvent = function attachEvent() {
}
Object.setPrototypeOf(HTMLDocument.prototype, window.Document.prototype)
document = new HTMLDocument()
window.HTMLDocument = HTMLDocument
safeFunction(window.HTMLDocument)
safeFunction(window.Document.prototype.createElement)
safeFunction(window.Document.prototype.getElementById)
safeFunction(window.Document.prototype.getElementsByTagName)
safeFunction(window.Document.prototype.createExpression)
safeFunction(window.Document.prototype.addEventListener)
safeFunction(window.Document.prototype.attachEvent)
// Nacigator
function Navigator() {
}
Navigator.prototype.getBattery = function getBattery() {
return Promise.resolve(watch(new BatteryManager()))
}
Navigator.prototype.userAgent = 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'
Navigator.prototype.webkitPersistentStorage = watch(new DeprecatedStorageQuota(), "webkitPersistentStorage")
Navigator.prototype.mimeTypes = watch(new MimeTypeArray(), "mimeTypes")
Navigator.prototype.languages = [
"zh-CN",
"zh",
"en"
]
Navigator.prototype.appVersion = '5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36'
Navigator.prototype.webdriver = false
Navigator.prototype.platform = 'MacIntel'
Navigator.prototype.vendor = 'Google Inc.'
Navigator.prototype.connection = watch(new NetworkInformation(), "connection")
navigator = new Navigator()
window.Navigator = Navigator
safeFunction(window.Navigator)
window.clientInformation = navigator
// Screen
function Screen() {
}
screen = new Screen()
window.Screen = Screen
safeFunction(window.Screen)
// History
function History() {
}
History.prototype.replaceState = function replaceState() {
}
history = new History()
window.History = History
safeFunction(window.History)
safeFunction(window.History.prototype.replaceState)
// Location
function Location() {
}
Location.prototype = {
"ancestorOrigins": {},
"href": "https://cggl.swun.edu.cn/sfw_cms/e?page=cms.psms.gglist&orgType=21&typeDetail=XQ&cate=100307",
"origin": "https://cggl.swun.edu.cn",
"protocol": "https:",
"host": "cggl.swun.edu.cn",
"hostname": "cggl.swun.edu.cn",
"port": "",
"pathname": "/sfw_cms/e",
"search": "?page=cms.psms.gglist&orgType=21&typeDetail=XQ&cate=100307",
"hash": ""
}
location = new Location()
window.Location = Location
safeFunction(window.Location)
// Storage
function Storage() {
}
Storage.prototype.setItem = function setItem(key, value) {
this[key] = value;
}
Storage.prototype.getItem = function getItem(key) {
if (key === "$_YWTU") {
return "0Aih8Fb.rtReStwxT3OJsKlY5sdV0qbLSFhpNqj80Bl"
}
if (key === "_$rc") {
return ".s7L1Ve209n8wYJBFWtPJqkpgJqt2f1Qf9mrztk.JNe2WF91cmgtRPxM_Wf1rUhx3ILmDs2E8Zvb1HgG7wAazKPskgE.6joEQpMJKtOGPFmicv09Aw0DRmj.LFwAcw1_OLP0XUt7DhGS_FAeukUJ.AsJFNVHUAslOWlfhyAS5szgzANpy0mtV2.C6A3HrdXMCTl5i8jA3_pVrAW8szIrgZCX3IACcxud_q9rkH3ntvSPrDvf9BQtg0gVy2PahF75WtTz_gOQ06W61eNotyf5o2WxRuNcStJXoXMNkIs6CpajbBIahDhU69OfpLRJj8r71xX7I9BmDutIE1X8h6UOFDbPRAVhehDhAGHi2KyW8jjHiGruflFTX7CikUCerT9uvsgPQke2oO4wALDVgR181jXyWXKQU7Gsfb7vddIVyrsKCJ7BKUMiailpzSv3SVHv27uUTgJoX9peKeapAE.PMpmISboS3jU7fQ4ncwQ9JmN9jdBBHtRXh1p5ABH9Zn6ylmRRBVRYVWQVKvFaoxCgjA7a3fl4ZgUqv1qdGT0n0vkJr92pVOIq6iT2ZSUaeW4k.JXe8iKFW6OOrGGEGJrwrDmQFvifr4DZVpaXfBY1n2CJ7skqEsmiRr5iivjROvFXB2xTeTygO6Y1Oa2p2b6YSACbIXBVlbJ84GrqW6jWhTjfhiE1cPFhMBfSsCOm4T2A4BSi7vwZHNzOkn0owE6MGjv3TbtovCtArS.6xmk7EprFkKXKcPD_5w.NqCZ_ZMzO5QIQpq"
}
if (key === "$_YVTX") {
return "Wq"
}
return this[key] || null
}
Storage.prototype.removeItem = function removeItem(key) {
delete this[key];
}
localStorage = new Storage()
sessionStorage = new Storage()
window.Storage = Storage;
safeFunction(window.Storage)
safeFunction(Storage.prototype.setItem)
safeFunction(Storage.prototype.getItem)
safeFunction(Storage.prototype.removeItem)
// Storage
function Storage() {
}
Storage.prototype.setItem = function setItem(key, value) {
this[key] = value;
}
Storage.prototype.getItem = function getItem(key) {
return this[key] || null
}
Storage.prototype.removeItem = function removeItem(key) {
delete this[key];
}
localStorage = new Storage({
"$_YWTU": "_bsnuYA1Q5KWa0zZ_0m9koRqf7qq6UDNBlP82jvm.el",
"_$rc": "yLDmd.dXTHqFcr0_eLUMBZ6iLLlw8uKd0kJ.AJ908l8YoQjTXzbmRaOlWv0",
"__#classType": "localStorage",
"$_YVTX": "Wsq"
})
sessionStorage = new Storage({
"$_YWTU": "_bsnuYA1Q5KWa0zZ_0m9koRqf7qq6UDNBlP82jvm.el",
"$_YVTX": "Wsq"
})
window.Storage = Storage;
safeFunction(window.Storage)
safeFunction(Storage.prototype.setItem)
safeFunction(Storage.prototype.getItem)
safeFunction(Storage.prototype.removeItem)
// window = watch(window, 'window')
// document = watch(document, 'document')
// location = watch(location, 'location')
// history = watch(history, 'history')
// screen = watch(screen, 'screen')
// navigator = watch(navigator, 'navigator')
// localStorage = watch(localStorage, 'localStorage')
// sessionStorage = watch(sessionStorage, 'sessionStorage')
// setProxyArr(['navigator', "window", "history", "document", "location", "localStorage", "sessionStorage"])
// require("./ts")
// require("./tsload")
ts文件
tsload文件
function getCookie() {
return document.cookie
}
console.log(getCookie())
通杀模版,下面的都试了试,都可以过
