This commit is contained in:
xuxiaobo-bobo 2024-03-13 01:46:54 +08:00
parent cc8ed744ae
commit 20acacc131
21 changed files with 440 additions and 1235 deletions

View File

@ -1,4 +1,5 @@
运行 227 ---> 把run.js 内容替换为run227.js run.html内容替换为 run227.html 然后运行main_227.js
运行 227 ---> 运行main_227.js 运行main_227.py
运行 rs ---> 运行main_rs.js 运行main_rs.py
## 警告

View File

@ -11,6 +11,7 @@ bodaEnv.memory.globlProtoObj["PerformanceObserver"] = function PerformanceObserv
}
}));
}
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(this,'PerformanceObserver',arguments)
;
};
bodaEnv.toolsFunc.safeProto(bodaEnv.memory.globlProtoObj["PerformanceObserver"], "PerformanceObserver");

View File

@ -1,72 +0,0 @@
//系统内置库
const fs = require('fs');
const path=require('path')
const domino = require('domino');
const express = require('express');
const { VM, VMScript, bodaError } = require("vm2")
const getCodeFunc = require(path.join(__dirname,'tools','getRunCode.js'))
const app = express();
app.use(express.json({limit:'100mb'}));
let bodaUndefind = require(path.join(__dirname,'nodePlugin','bodaUndefined_v18.17.0.node'))
// debugger
fs.writeFileSync(path.join(__dirname , 'run' , 'log.txt'),'')
//配置路径
let vm = new VM()
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode()
let jsCode = staticCode + getRunAllCode
// debugger
vm.setGlobal('bodaRunPath', path.join(__dirname , 'run'))
vm.setGlobal('bodafs', fs)
var boallundefined = new bodaUndefind.bodaUndefind();
vm.setGlobal('bodaallundefined', boallundefined)
vm.setGlobal('bodaURL', URL)
vm.setGlobal('bodaError', bodaError)
vm.setGlobal('bodaTextEncoder',TextEncoder)
//babel 库相关
vm.setGlobal('bodaBabelParser',getCodeFunc.parser)
vm.setGlobal('bodaBabeltraverse',getCodeFunc.traverse)
vm.setGlobal('bodaBabeltypes',getCodeFunc.types)
vm.setGlobal('bodaBabelgenerator',getCodeFunc.generator)
const script = new VMScript(jsCode, "./debugJS.js")
let result = vm.run(script);
let testNum=0
function main() {
let website_ = 'https://mail.qq.com/'
// console.time()
let bohtml = fs.readFileSync(path.join(__dirname,'run','run.html'), 'utf8').toString();
// debugger
// console.timeEnd()
let dominoWindow = domino.createWindow(bohtml, website_)
let bodaConifg = {
'log': true, //开启日志
'loadOpen': true, //开启load事件
'SetTimeOutOpen': true, //开启定时器事件
'listenerOpen': true, //开启浏览器事件 mousemove mouseup mousedown 等
'userAgent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36',
'ip_addr':'192.168.2.2', //ip RTC检测,
}
vm.setGlobal('bodadominoWindow', dominoWindow)
vm.setGlobal('bodaConifg', bodaConifg)
console.time()
resultVal = result()
// debugger
// console.log(resultVal)
bohtml = null
dominoWindow = null
console.timeEnd()
return resultVal
}
// for (let i =0 ;i<10;i++){
let result_=main()
console.log(result_)
// }

View File

@ -15,18 +15,13 @@ fs.writeFileSync(path.join(__dirname , 'run' , 'log.txt'),'')
//配置路径
let vm = new VM()
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode()
let jsCode = staticCode + getRunAllCode
// debugger
vm.setGlobal('bodaRunPath', path.join(__dirname , 'run'))
vm.setGlobal('bodafs', fs)
let boallundefined = new bodaUndefind.bodaUndefind();
vm.setGlobal('bodaallundefined', boallundefined)
vm.setGlobal('bodaURL', URL)
vm.setGlobal('bodaError', bodaError)
@ -36,13 +31,18 @@ vm.setGlobal('bodaBabelParser',getCodeFunc.parser)
vm.setGlobal('bodaBabeltraverse',getCodeFunc.traverse)
vm.setGlobal('bodaBabeltypes',getCodeFunc.types)
vm.setGlobal('bodaBabelgenerator',getCodeFunc.generator)
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode('run227') //传入需要读取的js文件
let jsCode = staticCode + getRunAllCode
const script = new VMScript(jsCode, "./debugJS.js")
let result = vm.run(script);
let testNum=0
function main() {
let website_ = 'https://passport.gds.org.cn/Account/Login'
// console.time()
let bohtml = fs.readFileSync(path.join(__dirname,'run','run.html'), 'utf8').toString();
let bohtml = fs.readFileSync(path.join(__dirname,'run','run227.html'), 'utf8').toString();
// debugger
// console.timeEnd()
let dominoWindow = domino.createWindow(bohtml, website_)
@ -62,7 +62,7 @@ function main() {
// console.time()
resultVal = result()
// debugger
console.log(resultVal)
// console.log(resultVal)
bohtml = null
dominoWindow = null
@ -70,6 +70,10 @@ function main() {
return resultVal
}
let result_=main()
console.log(result_)
app.get('/get227', (req, res) => {
let result_=main()
res.send(result_)
});
app.listen(3000, () => {
console.log('监听端口3000');
})

35
bodaEnv/main_227.py Normal file
View File

@ -0,0 +1,35 @@
import requests
import time
headers = {
"Accept": "*/*",
"Accept-Language": "zh-CN,zh;q=0.9",
"Cache-Control": "no-cache",
"Connection": "keep-alive",
"Pragma": "no-cache",
"Sec-Fetch-Dest": "script",
"Sec-Fetch-Mode": "no-cors",
"Sec-Fetch-Site": "cross-site",
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36",
"sec-ch-ua": "\"Not_A Brand\";v=\"8\", \"Chromium\";v=\"120\", \"Google Chrome\";v=\"120\"",
"sec-ch-ua-mobile": "?0",
"sec-ch-ua-platform": "\"Windows\""
}
url = "https://cf.aliyun.com/nocaptcha/analyze.jsonp"
params = {
"a": "FFFF0N0000000000ACD7",
"t": f"FFFF0N0000000000ACD7:nc_login:{int(time.time()*1000)}:0.5842351350883199",
"n": requests.get('http://127.0.0.1:3000/get227').json()['227'],
"p": '{"ncbtn":"946.6666870117188|105.16667175292969|40|32|105.16667175292969|137.1666717529297|946.6666870117188|986.6666870117188","umidToken":"GCD9A6B9469E34A48B47D4895A4C2867B49CB6008178A3107C7","ncSessionID":"5e701f3e3255","et":"0"}',
"scene": "nc_login",
"asyn": "0",
"lang": "cn",
"v": "1",
"callback": "jsonp_08334775294124646"
}
response = requests.get(url, headers=headers, params=params)
print(response.text)

View File

@ -6,8 +6,9 @@ const express = require('express');
const { VM, VMScript, bodaError } = require("vm2")
const getCodeFunc = require(path.join(__dirname,'tools','getRunCode.js'))
const app = express();
app.use(express.json({limit:'100mb'}));
app.use(express.json({limit:'500mb'}));
let bodaUndefind = require(path.join(__dirname,'nodePlugin','bodaUndefined_v18.17.0.node'))
// debugger
@ -15,9 +16,7 @@ fs.writeFileSync(path.join(__dirname , 'run' , 'log.txt'),'')
//配置路径
let vm = new VM()
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode()
let jsCode = staticCode + getRunAllCode
// debugger
vm.setGlobal('bodaRunPath', path.join(__dirname , 'run'))
vm.setGlobal('bodafs', fs)
@ -32,15 +31,20 @@ vm.setGlobal('bodaBabelParser',getCodeFunc.parser)
vm.setGlobal('bodaBabeltraverse',getCodeFunc.traverse)
vm.setGlobal('bodaBabeltypes',getCodeFunc.types)
vm.setGlobal('bodaBabelgenerator',getCodeFunc.generator)
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode()
let jsCode = staticCode + getRunAllCode
const script = new VMScript(jsCode, "./debugJS.js")
let result = vm.run(script);
let testNum=0
function run_rsvmp(_reqhtml,apiUrl) {
function run_rsvmp(boUrl,_reqhtml,apiUrl) {
// configFormChrome 去浏览器复制一下,记得把cookie删了
//获取前缀,getResult文件下把这个打开就行'rsurl':bodaEnv.toolsFunc.getApi(bodaConifg['apiUrl'])
// listenerOpen 打开后 调用load事件 asyncListener文件夹下
// 运行时候,把run_rs.html,run_rs.js 改为run.html,run.js
let website_ = 'https://www.hubei.gov.cn/'//atob('aHR0cDovL3d3dy5ubXBhLmdvdi5jbg==')
let website_ = boUrl//atob('aHR0cDovL3d3dy5ubXBhLmdvdi5jbg==')
let bohtml =''
if (!_reqhtml){
bohtml= fs.readFileSync(path.join(__dirname , 'run','run.html'), 'utf8').toString();
@ -48,7 +52,7 @@ let testNum=0
}else{
bohtml=_reqhtml
}
console.log(bohtml)
// console.log(bohtml)
let dominoWindow = domino.createWindow(bohtml, website_)
let bodaConifg = {
'log': false, //开启日志
@ -76,11 +80,12 @@ let testNum=0
rs 不需要用run.js 文件
在run/website/ 底下按照我提供的例子,放js文件
*/
let boHtml=req.query['boHtml']
// debugger
let boUrl=req.query['boUrl']
let boHtml=atob(req.query['boHtml'])
let apiUrl=req.query['apiUrl']
console.time()
let result_=run_rsvmp(boHtml,apiUrl)
console.timeEnd()
// debugger
let result_=run_rsvmp(boUrl,boHtml,apiUrl)
res.send(result_)
});
app.listen(3021, () => {

60
bodaEnv/main_rs.py Normal file
View File

@ -0,0 +1,60 @@
import os
import json
import re
import base64
from urllib.parse import urljoin,urlparse
import requests
from lxml import etree
headers = {
"user-agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/122.0.0.0 Safari/537.36",
}
class RSVMP:
def fetch(self,url,apiUrl):
session=requests.Session()
response = session.get(url, headers=headers)
# print(response.text)
tree=etree.HTML(response.text)
ts_url=tree.xpath('//script/@src')[0]
# print(ts_url)
ts_resp=session.get(urljoin(response.url,ts_url),headers=headers).text
netloc_=urlparse(response.url)[1]
if not os.path.exists(f'./run/webSite/{netloc_}'):
os.mkdir(f'./run/webSite/{netloc_}')
filename=re.compile(r'[\\/](?P<group>[^\\/?]+)(?:\?|$)').search(ts_url).group('group').replace('.js','')[0:-8]+'.js'
# print(filename)
with open (f'./run/webSite/{netloc_}/{filename}','w',encoding='utf-8') as f:
f.write(ts_resp)
b64conent=base64.b64encode(response.content)
resp_=requests.get('http://127.0.0.1:3021/cookie',params={'boUrl':url,'boHtml':b64conent,'apiUrl':apiUrl}).json()
print(resp_)
cookie_dict = dict(item.split('=') for item in resp_['cookie'].split('; '))
for cookie_name, cookie_value in cookie_dict.items():
session.cookies.set(cookie_name, cookie_value)
resp2=session.get(url, headers=headers)
data ={'current': 1, 'pageSize': 10, 'modeNo': "BizAnnoVoMtable", 'pageNo': 1}
response3 = session.post(resp_['rsurl'], headers=headers ,json=data)
print(response3.text)
if __name__ == '__main__':
rs=RSVMP()
rs.fetch('http://www.chinaunicombidding.cn/','http://www.chinaunicombidding.cn/api/v1/bizAnno/getAnnoList')

View File

@ -16,7 +16,7 @@ fs.writeFileSync(path.join(__dirname , 'run' , 'log.txt'),'')
//配置路径
let vm = new VM()
let staticCode = getCodeFunc.getStaticCode()
let getRunAllCode = getCodeFunc.getRunAllCode()
let getRunAllCode = getCodeFunc.getRunAllCode('zp_token') //获取运行代码 对应run文件下的js
let jsCode = staticCode + getRunAllCode
// debugger
vm.setGlobal('bodaRunPath', path.join(__dirname , 'run'))

View File

@ -48,6 +48,7 @@ bodaEnv.memory.asyncEvent.setTimeout=[]
// debugger
// config.js 回收
bodaEnv.memory.documentCollection={} //存放document.getelementbytagname
// bodaEnv.memory.ElementCollectionMap.clear() //存放Element.getelementbytagname
bodaEnv.memory.childrenCollectionMap.clear() ///存放Element.children
@ -113,6 +114,8 @@ for (let _domele in bodaEnv.memory.domDocument){
_domele=null
}
bodaEnv.memory.readScriptList=[]
bodaEnv.memory.domDocument = {}
bodaEnv.memory.domDocument = null
bodaEnv.memory.tempDocument=null

View File

@ -1,455 +0,0 @@
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_getElementsByClassName -> custom-dialog-wrapper -> [object HTMLCollection]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_getElementsByClassName -> custom-dialog-wrapper -> [object HTMLCollection]
[collection::proxyHTMLCollection] 获取属性: 0 value: undefined
window_document_get ->[object HTMLDocument]
Document_documentElement_get ->[object HTMLHtmlElement]
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->nc_1_n1z-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->nc_1_n1z-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->fm-login-password-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->fm-login-password-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->fm-login-id-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->fm-login-id-> res ->null
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->nc_1_n1z-> res ->null
window_screen_get ->[object Screen]
Screen_colorDepth_get 24
window_document_get ->[object HTMLDocument]
document_location_get res ->location
location_href_get res->https://mail.qq.com/
window_setInterval ->delay值可能会影响执行结果,如果网站中执行的方法框架内没有执行,可以与delay值有关,尝试修改判断条件
delay->10 argList-> -> func ->function Q(){var H=B.slice(0);H[0]=[this],H[1]=[arguments],H[2]=[Q];for(var c=0;c<G.length&&c<argume
[object Window]-> EventTarget_addEventListener 注册事件 ->message ->
window_navigator_get ->[object Navigator]
Navigator_userAgent_get res->Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> canvas -> [object HTMLCanvasElement]
HTMLCanvasElement_getContext ->type->webgl -> res -> [object WebGLRenderingContext]
WebGLRenderingContext_getSupportedExtensions=== ANGLE_instanced_arrays,EXT_blend_minmax,EXT_color_buffer_half_float,EXT_disjoint_timer_query,EXT_float_blend,EXT_frag_depth,EXT_shader_texture_lod,EXT_texture_compression_bptc,EXT_texture_compression_rgtc,EXT_texture_filter_anisotropic,WEBKIT_EXT_texture_filter_anisotropic,EXT_sRGB,KHR_parallel_shader_compile,OES_element_index_uint,OES_fbo_render_mipmap,OES_standard_derivatives,OES_texture_float,OES_texture_float_linear,OES_texture_half_float,OES_texture_half_float_linear,OES_vertex_array_object,WEBGL_color_buffer_float,WEBGL_compressed_texture_s3tc,WEBKIT_WEBGL_compressed_texture_s3tc,WEBGL_compressed_texture_s3tc_srgb,WEBGL_debug_renderer_info,WEBGL_debug_shaders,WEBGL_depth_texture,WEBKIT_WEBGL_depth_texture,WEBGL_draw_buffers,WEBGL_lose_context,WEBKIT_WEBGL_lose_context,WEBGL_multi_draw
RTCPeerConnection 实例化对象 --->{"0":{"iceServers":[{"urls":["stun:stun1.l.google.com:19302?transport=udp","stun:stun2.l.google.com:19302?transport=udp","stun:stun3.l.google.com:19302?transport=udp","stun:stun4.l.google.com:19302?transport=udp"]}]},"1":{}}
RTCPeerConnection_onicecandidate_set arg->function Q(){var H=B.slice(0);H[0]=[this],H[1]=[arguments],H[2]=[Q];for(var c=0;c<G.length&&c<arguments.length;c++)0<G[c]&&(H[G[c]]=[arguments[c]]);return __TENCENT_CHAOS_VM(x,w,E,H,K,o,C,M)}
实例化promise 参数::(resolve,reject)=>{
resolve(_successCallback);
}
实例化promise 参数::(resolve, reject) => {
setTimeout(()=>{
try {
let x = onFulfilled(self.value);
resolvePromise(promise2, x, resolve, reject);
} catch (e) {
reject(e);
}
},0,'promise');
}
window_setTimeout -> delay值可能会影响执行结果,如果网站中执行的方法框架内没有执行,可以与delay值有关,尝试修改判断条件
delay->0 argList->promise ->func -> ()=>{
try {
let x = onFulfilled(self.value);
resolvePromise(promise2, x, resolve, reject);
} catch (e) {
reject(e);
}
}
window_setTimeout delay->小于等于4 立马开始执行
window_setTimeout -> delay值可能会影响执行结果,如果网站中执行的方法框架内没有执行,可以与delay值有关,尝试修改判断条件
delay->1000 argList-> ->func -> function Q(){var H=B.slice(0);H[0]=[this],H[1]=[arguments],H[2]=[Q];for(var c=0;c<G.length&&c<arguments.length;c++)0<G[c]&&(H[G[c]]=[arguments[c]]);return __TENCENT_CHAOS_VM(x,w,E,H,K,o,C,M)}
window_navigator_get ->[object Navigator]
Navigator_languages_get res->zh-CN,zh
window_navigator_get ->[object Navigator]
Navigator_cookieEnabled_get res->true
window_document_get ->[object HTMLDocument]
[object Window]-> EventTarget_addEventListener 注册事件 ->load ->
window_document_get ->[object HTMLDocument]
Document_createElement -> canvas -> [object HTMLCanvasElement]
HTMLCanvasElement_getContext ->type->webgl -> res -> [object WebGLRenderingContext]
WebGLRenderingContext_getSupportedExtensions=== ANGLE_instanced_arrays,EXT_blend_minmax,EXT_color_buffer_half_float,EXT_disjoint_timer_query,EXT_float_blend,EXT_frag_depth,EXT_shader_texture_lod,EXT_texture_compression_bptc,EXT_texture_compression_rgtc,EXT_texture_filter_anisotropic,WEBKIT_EXT_texture_filter_anisotropic,EXT_sRGB,KHR_parallel_shader_compile,OES_element_index_uint,OES_fbo_render_mipmap,OES_standard_derivatives,OES_texture_float,OES_texture_float_linear,OES_texture_half_float,OES_texture_half_float_linear,OES_vertex_array_object,WEBGL_color_buffer_float,WEBGL_compressed_texture_s3tc,WEBKIT_WEBGL_compressed_texture_s3tc,WEBGL_compressed_texture_s3tc_srgb,WEBGL_debug_renderer_info,WEBGL_debug_shaders,WEBGL_depth_texture,WEBKIT_WEBGL_depth_texture,WEBGL_draw_buffers,WEBGL_lose_context,WEBKIT_WEBGL_lose_context,WEBGL_multi_draw
Error stack 检测 !!!!! _arg0->TypeError: Cannot read properties of null (reading '0')
Error stack 检测 !!!!! _arg1->Array.G (./debugJS.js:121254:2191),__TENCENT_CHAOS_VM (./debugJS.js:121254:4023),Object.Q (./debugJS.js:121254:3112),Array.G (./debugJS.js:121254:3878),__TENCENT_CHAOS_VM (./debugJS.js:121254:4023),Q (./debugJS.js:121254:3112),Array.G (./debugJS.js:121254:3410),__TENCENT_CHAOS_VM (./debugJS.js:121254:4023),Object.Q (./debugJS.js:121254:3112),Array.G (./debugJS.js:121254:3878)
Error stack 检测 !!!!! 修改返回堆栈为->Error
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:237643)
at _ (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:156718)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:187048)
at i (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:86500)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:188867)
at p (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:315359)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:242987)
at Object.j [as z] (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:2882)
at r (https://static.zhipin.com/fe-zhipin-geek/web/chat/v5167/static/js/app.6e84b227.js:41181:33)
at https://static.zhipin.com/fe-zhipin-geek/web/chat/v5167/static/js/app.6e84b227.js:41226:21
window_document_get ->[object HTMLDocument]
Document_characterSet_get -> res ->UTF-8
window_document_get ->[object HTMLDocument]
[object Window]-> EventTarget_addEventListener 注册事件 ->deviceorientation ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->mousemove ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->mousedown ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->mouseup ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
bodaEnv.memory.asyncEvent[listener] 未实现 touchmove
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->touchmove ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
bodaEnv.memory.asyncEvent[listener] 未实现 touchstart
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->touchstart ->
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
bodaEnv.memory.asyncEvent[listener] 未实现 touchend
[object HTMLDocument]-> EventTarget_addEventListener 注册事件 ->touchend ->
window_document_get ->[object HTMLDocument]
Document_cookie_get cookie ->
window_localStorage_get ->res -> [object Storage]
window_localStorage_get ->res -> [object Storage]
Storage_getItem key->TDC_itoken item->null
window_localStorage_get ->res -> [object Storage]
window_localStorage_get ->res -> [object Storage]
Storage_getItem key->TDC_itoken item->null
window_document_get ->[object HTMLDocument]
Document_cookie_set -> arg -> TDC_itoken=968126057%3A1710179067; expires=Tue, 31 Dec 2030 00:00:00 UTC; path=/
Document_cookie_set -> -> 过期时间 -> Tue, 31 Dec 2030 00:00:00 UTC
Document_cookie_set -> -> cookieValue -> TDC_itoken=968126057%3A1710179067
window_localStorage_get ->res -> [object Storage]
window_localStorage_get ->res -> [object Storage]
Storage_setItem keyName->TDC_itoken keyValue->968126057:1710179067
window_localStorage_get ->res -> [object Storage]
window_localStorage_get ->res -> [object Storage]
Storage_setItem keyName->TDC_itoken keyValue->968126057:1710179067
Error stack 检测 !!!!! _arg0->Error: errr
Error stack 检测 !!!!! _arg1->./debugJS.js:121254:636,B (./debugJS.js:121254:667),Array.G (./debugJS.js:121254:1524),__TENCENT_CHAOS_VM (./debugJS.js:121254:4023),Q (./debugJS.js:121254:3112),Array.G (./debugJS.js:121254:3410),__TENCENT_CHAOS_VM (./debugJS.js:121254:4023),Object.Q [as getData] (./debugJS.js:121254:3112),getValue (./debugJS.js:121899:56),base.apply (d:\My_Dir2\bodaEnv\node_modules\vm2\lib/contextify.js:240:34)
Error stack 检测 !!!!! 修改返回堆栈为->Error
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:237643)
at _ (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:156718)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:187048)
at i (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:86500)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:188867)
at p (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:315359)
at P (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:242987)
at Object.j [as z] (https://www.zhipin.com/web/common/security-js/87b7f462.js:1:2882)
at r (https://static.zhipin.com/fe-zhipin-geek/web/chat/v5167/static/js/app.6e84b227.js:41181:33)
at https://static.zhipin.com/fe-zhipin-geek/web/chat/v5167/static/js/app.6e84b227.js:41226:21
window_screen_get ->[object Screen]
Screen_width_get 1368
window_screen_get ->[object Screen]
Screen_height_get 912
window_screen_get ->[object Screen]
Screen_availHeight_get 862
window_screen_get ->[object Screen]
Screen_colorDepth_get 24
window_screen_get ->[object Screen]
window_screen_get ->[object Screen]
window_screen_get ->[object Screen]
Screen_pixelDepth_get 24
window_screen_get ->[object Screen]
window_document_get ->[object HTMLDocument]
Document_createElement -> span -> [object HTMLSpanElement]
[object HTMLSpanElement]-> Element_setAttribute ->_k : id -> _v : 6819986
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLSpanElement]
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->6819986-> res ->[object HTMLSpanElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_removeChild -> [object HTMLSpanElement]
window_customElements_get ->[object CustomElementRegistry]
CSS_supports arg0 -> overscroll-behavior -> arg1 -> auto -> 未实现 !!!!!!!!!!
CSS_supports arg0 -> -webkit-overscroll-behavior -> arg1 -> auto -> 未实现 !!!!!!!!!!
CSS_supports arg0 -> -o-overscroll-behavior -> arg1 -> auto -> 未实现 !!!!!!!!!!
CSS_supports arg0 -> -moz-overscroll-behavior -> arg1 -> auto -> 未实现 !!!!!!!!!!
CSS_supports arg0 -> -ms-overscroll-behavior -> arg1 -> auto -> 未实现 !!!!!!!!!!
[object HTMLDivElement]-> HTMLElement_style_get -> res -> [object CSSStyleDeclaration]
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement] -> Element_innerHTML_set -> innerHTML -> <div class="left">
<div id="startButton" class="button">
Start
</div>
<h2>Preview</h2>
<video id="preview" width="160" height="120" autoplay muted></video>
</div>
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->preview-> res ->[object HTMLVideoElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_removeChild -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> style -> [object HTMLStyleElement]
[object HTMLStyleElement] -> Element_innerHTML_set -> innerHTML -> ::marker{}
window_document_get ->[object HTMLDocument]
Document_head_get -> res -> [object HTMLHeadElement]
[object HTMLHeadElement]-> Node_appendChild -> appendChild -> [object HTMLStyleElement]
[object HTMLStyleElement] -> HTMLStyleElement_sheet_get sheet-> [object CSSStyleSheet]
[object CSSStyleSheet] -> CSSStyleSheet_cssRules_get 默认返回一个 需要根据实际进行调整!!!!!->
[object CSSRuleList] -> CSSRuleList_length_get length-> 1
[object HTMLStyleElement] -> Element_remove
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement] -> Element_innerHTML_set -> innerHTML -> <section><h3 id='firsth'>green</h3><p id='firstp'>red</p>green</section><section class='with-revert'><h3 id='secondh'>black</h3><p id='secondp'>red</p>black</section>
window_document_get ->[object HTMLDocument]
Document_createElement -> style -> [object HTMLStyleElement]
[object HTMLStyleElement] -> Element_innerHTML_set -> innerHTML -> section { color: green } p { color: red } section.with-revert { color: revert }
window_document_get ->[object HTMLDocument]
Document_head_get -> res -> [object HTMLHeadElement]
[object HTMLHeadElement]-> Node_appendChild -> appendChild -> [object HTMLStyleElement]
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->firsth-> res ->[object HTMLHeadingElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLHeadingElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLHeadingElement]-> Element_innerHTML_get -> res -> green
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(0, 128, 0)
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->firstp-> res ->[object HTMLParagraphElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLParagraphElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLParagraphElement]-> Element_innerHTML_get -> res -> red
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(255, 0, 0)
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->secondh-> res ->[object HTMLHeadingElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLHeadingElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLHeadingElement]-> Element_innerHTML_get -> res -> black
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(0, 0, 0)
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->secondp-> res ->[object HTMLParagraphElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLParagraphElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLParagraphElement]-> Element_innerHTML_get -> res -> red
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(255, 0, 0)
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_removeChild -> [object HTMLDivElement]
[object HTMLStyleElement] -> Element_remove
window_navigator_get ->[object Navigator]
window_matchMedia arg ->(prefers-color-scheme: dark)-> res ->[object MediaQueryList]
MediaQueryList_matches_get -> matches_ (prefers-color-scheme: dark)-> res ->false
window_matchMedia arg ->(prefers-color-scheme: light)-> res ->[object MediaQueryList]
MediaQueryList_matches_get -> matches_ (prefers-color-scheme: light)-> res ->true
window_matchMedia arg ->(prefers-reduced-motion: reduce)-> res ->[object MediaQueryList]
MediaQueryList_matches_get -> matches_ (prefers-reduced-motion: reduce)-> res ->false
window_matchMedia arg ->(prefers-reduced-motion: no-preference)-> res ->[object MediaQueryList]
MediaQueryList_matches_get -> matches_ (prefers-reduced-motion: no-preference)-> res ->true
window_navigator_get ->[object Navigator]
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement] -> Element_innerHTML_set -> innerHTML -> <p class="firstp">firstp</p>
<p id="secondp">secondp</p>
<p class="thirdp">thirdp</p>
<h2>
<span class="foo">foo</span>
<span class="bar" id="bar">bar</span>
</h2>
window_document_get ->[object HTMLDocument]
Document_createElement -> style -> [object HTMLStyleElement]
[object HTMLStyleElement] -> Element_innerHTML_set -> innerHTML -> body :not(.firstp, .thirdp) {
color: blue;
}
h2 :not(span.foo) {
color: red;
}
window_document_get ->[object HTMLDocument]
Document_head_get -> res -> [object HTMLHeadElement]
[object HTMLHeadElement]-> Node_appendChild -> appendChild -> [object HTMLStyleElement]
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->secondp-> res ->[object HTMLParagraphElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLParagraphElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLParagraphElement]-> Element_innerHTML_get -> res -> secondp
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(0, 0, 255)
window_document_get ->[object HTMLDocument]
Document_getElementById -> id ->bar-> res ->[object HTMLSpanElement]
window_getComputedStyle ->
使用 getComputedStyle args->[object HTMLSpanElement] , null -> res ->[object CSSStyleDeclaration]
[CSSStyleDeclaration2::proxyHelper] 获取属性: getPropertyValue value: function getPropertyValue() { [native code] }
[object HTMLSpanElement]-> Element_innerHTML_get -> res -> bar
CSSStyleDeclaration_getPropertyValue 可能存在color检测 !!!!!! arg ->color -> res_rgb ->rgb(255, 0, 0)
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_removeChild -> [object HTMLDivElement]
[object HTMLStyleElement] -> Element_remove
window_document_get ->[object HTMLDocument]
document_location_get res ->location
location_href_get res->https://mail.qq.com/
WebGLRenderingContext_getExtension WEBGL_debug_renderer_info
WebGLRenderingContext_getParameter 37445 -> res ->Google Inc. (Intel)
window_document_get ->[object HTMLDocument]
Document_createElement -> iframe -> [object HTMLIFrameElement]
[object HTMLIFrameElement]-> HTMLElement_style_get -> res -> [object CSSStyleDeclaration]
[CSSStyleDeclaration2:proxyHelper] 设置属性: display value: none
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLIFrameElement]
HTMLIFrameElement_contentWindow_get ->res -> iframe Window
[iframe0::proxyWindow] 获取属性: top value: [object Window]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_removeChild -> [object HTMLIFrameElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_navigator_get ->[object Navigator]
Navigator_hardwareConcurrency_get ->8
window_screen_get ->[object Screen]
Screen_width_get 1368
JSON.stringify5 arg0: arg1: undefined->res->[]
window_navigator_get ->[object Navigator]
Navigator_platform_get res->Win32
window_innerWidth_get innerWidth ->1362
window_innerHeight_get innerHeight ->762
WebGLRenderingContext_getExtension WEBGL_debug_renderer_info
WebGLRenderingContext_getParameter 37446 -> res ->ANGLE (Intel, Intel(R) HD Graphics 4600 (0x0000C16) Direct3D11 vs_5_0 ps_5_0, D3D11)
window_document_get ->[object HTMLDocument]
Document_createElement -> canvas -> [object HTMLCanvasElement]
HTMLCanvasElement_getContext ->type->2d -> res -> [object CanvasRenderingContext2D]
CanvasRenderingContext2D_textBaseline_set textBaseline ->top
CanvasRenderingContext2D_font_set font ->14px 'Arial'
CanvasRenderingContext2D_textBaseline_set textBaseline ->alphabetic
CanvasRenderingContext2D_fillStyle_set fillStyle ->#f60
CanvasRenderingContext2D_fillRect fillRect ->[object Arguments]
CanvasRenderingContext2D_fillStyle_set fillStyle ->#069
CanvasRenderingContext2D_fillText fillText ->[object Arguments]
CanvasRenderingContext2D_fillStyle_set fillStyle ->rgba(102, 204, 0, 0.7)
CanvasRenderingContext2D_fillText fillText ->[object Arguments]
[object HTMLCanvasElement]-> HTMLCanvasElement_toDataURL -> '2d' -> data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAASwAAACWCAYAAABkW7XSAAAEYklEQVR4Xu3UAQkAAAwCwdm/9HI83BLIOdw5AgQIRAQWySkmAQIEzmB5AgIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlAABg+UHCBDICBisTFWCEiBgsPwAAQIZAYOVqUpQAgQMlh8gQCAjYLAyVQlKgIDB8gMECGQEDFamKkEJEDBYfoAAgYyAwcpUJSgBAgbLDxAgkBEwWJmqBCVAwGD5AQIEMgIGK1OVoAQIGCw/QIBARsBgZaoSlACBB1YxAJfjJb2jAAAAAElFTkSuQmCCSJ13jdnFn8KuP8l579paSoWDilXucKQFy1R=
window_navigator_get ->[object Navigator]
Navigator_appVersion_get res->undefined
window_navigator_get ->[object Navigator]
Navigator_userAgent_get res->Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
window_document_get ->[object HTMLDocument]
window_document_get ->[object HTMLDocument]
window_navigator_get ->[object Navigator]
Navigator_vendor_get res->Google Inc.
window_navigator_get ->[object Navigator]
Navigator_appName_get ->Netscape
window_navigator_get ->[object Navigator]
Navigator_webdriver_get ->false
window_navigator_get ->[object Navigator]
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> p -> [object HTMLParagraphElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLParagraphElement]
[object HTMLDivElement]-> Node_cloneNode -> false -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_insertBefore newNode->[object HTMLDivElement]-> referenceNode ->[object HTMLParagraphElement]
[object HTMLDivElement]-> Element_outerHTML_get -> <div><div></div><p></p></div>
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> p -> [object HTMLParagraphElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> span -> [object HTMLSpanElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLParagraphElement]
[object HTMLDivElement]-> Node_cloneNode -> false -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_insertBefore newNode->[object HTMLDivElement]-> referenceNode ->[object HTMLParagraphElement]
Element_className_set -> className -> cll1
[object HTMLDivElement]-> Element_setAttribute ->_k : class -> _v : sss
[object HTMLSpanElement]-> Node_insertBefore newNode->[object HTMLDivElement]-> referenceNode ->null
[object HTMLSpanElement]-> Element_innerHTML_get -> res -> <div class="sss"></div>
window_document_get ->[object HTMLDocument]
Document_createElement -> iframe -> [object HTMLIFrameElement]
window_document_get ->[object HTMLDocument]
[object HTMLDocument]-> Document_body_get -> [object HTMLBodyElement]
[object HTMLBodyElement]-> Node_appendChild -> appendChild -> [object HTMLIFrameElement]
[object HTMLIFrameElement]-> HTMLElement_style_get -> res -> [object CSSStyleDeclaration]
[CSSStyleDeclaration2:proxyHelper] 设置属性: display value: none
HTMLIFrameElement_contentWindow_get ->res -> iframe Window
iframe window_document_get ->[object HTMLDocument]
[iframe1::proxyWindow] 获取属性: document value: [object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
[object HTMLDivElement]-> Element_outerHTML_get -> <div></div>
window_document_get ->[object HTMLDocument]
Document_createElement -> li -> [object HTMLLIElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> p -> [object HTMLParagraphElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> h1 -> [object HTMLHeadingElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> li -> [object HTMLLIElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> a -> HTMLAnchorElement
window_document_get ->[object HTMLDocument]
Document_createElement -> h1 -> [object HTMLHeadingElement]
HTMLAnchorElement_toString -> 可能存在检测 !!!!!
-> Node_appendChild -> appendChild -> [object HTMLLIElement]
HTMLAnchorElement_toString -> 可能存在检测 !!!!!
-> Node_replaceChild -> arg0 -> [object HTMLParagraphElement] arg1-> [object HTMLLIElement]
[object HTMLLIElement]-> Node_appendChild -> appendChild -> [object HTMLLIElement]
[object HTMLLIElement]-> Node_appendChild -> appendChild -> [object HTMLParagraphElement]
[object HTMLLIElement]-> Node_replaceChild -> arg0 -> [object HTMLParagraphElement] arg1-> [object HTMLParagraphElement]
[object HTMLLIElement]-> Node_appendChild -> appendChild -> [object HTMLHeadingElement]
[object HTMLLIElement]-> Node_appendChild -> appendChild -> [object HTMLParagraphElement]
[object HTMLLIElement]-> Node_removeChild -> [object HTMLHeadingElement]
HTMLAnchorElement_toString -> 可能存在检测 !!!!!
[object HTMLLIElement]-> Node_appendChild -> appendChild ->
[object HTMLLIElement]-> Node_replaceChild -> arg0 -> [object HTMLParagraphElement] arg1-> [object HTMLParagraphElement]
HTMLAnchorElement_toString -> 可能存在检测 !!!!!
-> Element_outerHTML_get -> <a></a>
window_location_get ->
location_href_get res->https://mail.qq.com/
使用bs64编码:$D¢ý‰à1ëÙþ^>  Ëý©ÐÙPë#š÷ä}&>,(ÍWŸ“,g(ÍWŸ“,g
编码后JESi/YngMesO2f5ePqCgywL9qdDZUBbrI5r35H0mPiwozVcCn5MsZyjNVwKfkyxn
使用bs64编码:B®œ˜uƒãsþŽ1è¨cSiÌq.L¬b™Óu79¨.°FÏ ¼¢rØ*:
! ¸%öqÙÍcòç+ØÆ)‰¼1·õ@ø¢Ø¹¹)°¥ä#ý[`:… G×츿ÀG„¦²ñ8Ì'¡×³«©u–óµ?ó“Ö€ÎnÌýê¾*¹'S&s¯¥)ˆzpÔk¸ J96¯Fzìø(lš¸CÅS]Só5KM*:^ꗨv&V·òOwDr:§>ÞýqLe]ê¤ÇkȲõÂ_ámc¶:/("¦¯É‹#ŸÕ¾Ò‡ ·en~àÓêw¦10 Ñ"’&#ß#TÕ.×éf(«ýË.ÛÇ»výÿ«#ô.ꎀä÷Ë¥½.SY¡¤ÀÕ×<·fÛ,~tïó<Û=©wBeÖõ’äÞ0V]–ꝣö¸ÝÚÈo(}£›r6¬#yœWTÃ¸Þ ó“Ö§+;õ«>ùecÛS­‚À× ÓÜTÒ2r‡’ïÒÏ~º´¥ÔgŒ„&Û¦PtØ\váJƒYØӗ°üW™àEԖë<ÌJá¼m4]ý¾ EkÀ7»ªÁÿï[ÀíÛ~ê éجfłº8 Œ[Ñ}šª¦)}Œ燇fËÐþœâ²“é E?ÐBùöKä¹e¹h•(ÍWŸ“,g
编码后BkIerpyYdRaDASKojeNz/o4x6KhjU2nMcQYuTKyBYpnTdTc5qAIusEbPILyictgqOgohBKC4JfZx2RzNY/LnK9jGKYm8Mbf1QPii2Lm5KbCl5CP9WwhgOoUMRxcC1+y4AL/AR4SmsvE4zCeh17OrqXWW87U/8xtzxpPWgM5uzP3qviq5J1Mmc6+lBCmIenAT1Gu4DUo5Nq8GRnrs+ChsB3+auEPFU10XGVPzNUtNKjpe6peodiZWt/JPdxNEcgg6pz7e/XFMZV3qpMdryLL1HMJf4W1jA7Y6Lygipq/JiyOf1b7Shw0Ft2VufuDT6pB3pjEwDI8F0SKSJiMI3yMBVNUu1xkD6WYoGKv9yy7bHce7dgT9/6sTFQUj9C7qjoBD9QLk98ulFr0uU51ZoaTA1dc8t2bbLH507/M82z2pd0Jl1vWS5N4wVl2W6p2jFfa43Z0VHNodyG8EKBN9D6ObcjYeQr0drCN5nFdUw7jeDRDzk4/WpyudO/WrPvllY9tTrYLA1wzT3FTSMnKHku/Sz34GurSl1GeMhCbbplB02Fx24R1Kg1nY05ew/FeZF+BF1JbrPMxK4bxtNF39vg1F7oQbnWvAN7sZqsH/71sOwO3bfuqg6disZsWCugE4IIxb0X99mqqNpil9jAEE54eHZsvQ/gGc4rKT6QlFP9BC+fYaS+S5ZblolSjNVwKfkyxn
window_document_get ->[object HTMLDocument]
Document_createElement -> div -> [object HTMLDivElement]
window_document_get ->[object HTMLDocument]
Document_createElement -> p -> [object HTMLParagraphElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLParagraphElement]
[object HTMLDivElement]-> Node_cloneNode -> false -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_appendChild -> appendChild -> [object HTMLDivElement]
[object HTMLDivElement]-> Node_insertBefore newNode->[object HTMLDivElement]-> referenceNode ->[object HTMLParagraphElement]
[object HTMLDivElement]-> Element_outerHTML_get -> <div><div></div><p></p></div>
window_screen_get ->[object Screen]
Screen_height_get 912
使用bs64编码:I×0 Œÿ~@èb2&(–D¾GÈ=Ø_†è’@Q—ä0Ô´“41v¥Øê(ÍWŸ“,g(ÍWŸ“,g(ÍWŸ“,g
编码后SdcwCxARFoz/fkDoYjIYJiiWRL5HyD0P2F+GFBnokkBRl+QwAdS0kzQOMXal2BfqKM1XAp+TLGcozVcCn5MsZyjNVwKfkyxn
JSON.stringify5 arg0:[object Object] arg1: undefined->res->{"sd":{"od":"C","slideValue":[[3,0,0,1710076829523,0],[1,196,170,2413,0],[1,-67,-40,40,0],[1,-24,-14,36,0],[1,-1,1,134,0],[1,-1,2,78,0],[1,0,0,49,0],[1,2,-2,39,0],[1,6,2,38,0],[1,0,106,176,0],[1,0,49,40,0],[1,0,37,44,0],[1,-1,-3,47,0],[1,-3,-3,31,0],[1,-1,-2,46,0],[1,-1,-2,34,0],[1,-3,-7,40,0],[1,-4,-7,39,0],[1,-4,-5,33,0],[2,0,0,146,0],[3,0,0,38,0],[1,0,-1,114,0],[1,25,-20,32,0],[1,28,-32,33,0],[1,6,-24,38,0],[1,4,-9,42,0],[1,1,-11,36,0],[1,1,-10,39,0],[1,0,-9,32,0],[1,0,-14,38,0],[1,0,-7,32,0],[1,-1,-8,39,0],[1,-1,-7,32,0],[1,-3,-7,61,0],[1,-1,-2,38,0],[1,-1,-2,32,0],[1,-3,-4,37,0],[1,0,-3,35,0],[2,0,0,42,0],[1,0,0,28,0],[3,0,0,41,0],[1,-1,0,506,0],[1,-3,4,38,0],[1,-2,6,32,0],[1,-2,8,38,0],[1,-3,5,32,0],[1,-4,5,39,0],[1,-3,5,31,0],[2,-9,12,197,0],[1,0,0,48,0],[3,0,0,3,0],[1,0,2,101,0],[1,0,7,41,0],[1,-3,7,32,0],[1,-2,9,32,0],[1,0,6,36,0],[1,-1,7,35,0],[1,-1,5,38,0],[1,-2,5,39,0],[1,0,7,40,0],[1,0,5,32,0],[1,0,5,46,0],[1,0,3,162,0],[2,0,0,213,0],[3,0,0,50,0],[1,0,1,156,0],[1,0,7,36,0],[1,3,7,34,0],[1,3,7,37,0],[1,2,3,33,0],[1,3,3,33,0],[1,5,7,37,0],[1,2,7,41,0],[1,4,4,32,0],[1,2,14,40,0],[1,0,4,293,0],[1,-14,-17,31,0],[1,-9,-13,38,0],[1,3,-5,33,0],[1,7,-1,38,0],[1,5,3,40,0],[1,1,4,46,0],[1,1,3,48,0],[1,4,4,31,0],[1,3,1,33,0],[1,1,1,34,0],[1,0,2,415,0],[1,6,7,41,0],[1,8,7,39,0]],"ft":"qf_7Pf__H"}}
使用bs64编码:Ÿ§|ãÐh?nezÈO£‹Ù!óõ¦Õ**×gŒÃZÇ B„ƒ÷óz
ÛßÑó<×òT›u,~iŒt·!–… Xð¤Æmi¬L_P”hW­¯~9¥æ¦ä#öÑ©ÆÜÓÀõç{‹s²;lì!«¤Ãë •<»~|ßò¨\÷k:a*²Ë ŸÖ[‡öƒ¦“ü¾=©}ºá©ÐæÏÀµÌœò‚J_§î 7ö%pª°³Ë/×õ˜þõÒ:%U×Zˆ=±è,Dxãív©^Ù[Ík!<fvªûu¶dßðdáɲ'Ü·jNÂü‘N“ãÛ3r¥¸eÁ[Š~R•­¢F ûH¸ìÄ%Ó
)ƒÈ>ÍfÌýU7A/£|t(œŠïTÖWÓö5hw 2ÜÙN-’Zê$N‹Û+ò©Wök|¸{·aèÿ9Jø‚J_§î 7öÅ2D×OÇۅ9ûXfãù^Uê SEÿ»žØ­z´Ñî”R~tWe Œôã½êÊ÷xî‘$)ÄèÑYþâ¹ “økƒvÎS³îyõb(\•z35u9OñX)Äéˆ0Hˆz‘ãÞɗ¸î„ n^T©Ì:hk9MDƒ¨áŒ<|!ÖÅ@kœkZxxŸvõ'Â*÷€£’
ˆÐ^Ù[Ík!<fh l>½”dáɲ'Ü·ÌÉ]*̐ýãÛ3r¥¸Ž~9󐤕­¢F ûH¸ì n^T©@‡Î€†ªÌ-é®uIÐm'ã¨g¬ê$N‹Û+òù;0¡_€,cûª)ö¨·›wWA=é­ô?Óc0(^Ù[Ík!<fE.8EyðØ dáɲ'Ü·C¤äîߢ,½¬wù`÷»žØ.¨oÕ²5çxxŸvõ'Â*•¤†4uåê”î^ >Ãm¦4S`.á]m8£·ÅË.WDç‡iÚǶ0Ä~±k•¥:Á½.˜Ídé=‹³2úž^äl4Z¬XK¡í*Êä5`dÕ¶îoc‹þ6€L"Dè <-ÖLçä‚dáɲ'Ü·=c}ü"ºê\¥8Ϛ»žØ"ìȕ–wMi^Ù[Ík!<fÝx©=¹è$Ⱥ€Tj2¿ß‚J_§î 7öøStÎP—xÖWÓö5hw ]/Zú×ye08ÿÎÅÅ0 n^T©gE5cÎç\ß»-oÖy^åS\Ë!³¤Ñ'¿Bm¨hîv+ÚqŠ‰É+¾S¾Zˆ=±è,Dn¤nLÜ~_ÁüTj ¸™q\#ÂF™•`¯UëU,yˆå4Çj¾t™†l2:–Y~Þ¶—<¨“€x£E×ÛZŽ¨ Ó8õË…ó.ùÀŠ§é¸[ó .ï¶Ýq<z ê2›Å,¾Q¬62eƒDûõCðÒThò|˗ÜHÁ™‘Ú1Ø°  (л0ƒØaÀø­zo̚õ#EïÑV\6w‡×Åù}ò’úR~tWe zÍ;F9âü¨ Ó8õ(æì‡+}¶Xھà ©™çʆó—/žýp¦jÑ “¼ð…•;‹ɔÌ.&²rÔ¥p`Î9Ð<×òT›u,áISôUÜSÈÛZìG¾¨KŸMƒÔsX¥úϑ‚ÈL"Dè <-‡Ê˜cÚ´qÒQÊ9Þ ‡¸7@:1w«º¿]îO
编码后n6eNfOPQCGgdP25lFXrIT6OL2SHz9abVKirXZ4zDWhzHDUIHhIMZ9/MYegrb39HzPNfyVJsXdSx+aYwddLchjwiWhRgJWPCkxm1prExfUJQXaFetr345peam5CP20R+pDsbc08D153uLc7I7bOwhq6TD650LlTyNu34CfN/yqFz3ax06FWEqssugn9Zbh/aDppP8vj0TA6l9uuGpBtDmz8C1zJyB8o8Qgkpfp+4JN/YlcKqws8svFEa31x31mP71GtI6JVUQ1xlaiD0SsegsRHjj7XapEA8fXtlbzWshPGZ2qvt1tmTf8GThyQGyJ9y3ak4YwvyRTpPj2zNypbhlwVuKflKVONobraJGCftIuOyBBcQl0x591Aopg8g+zWbM/VU3QS+jfHQUKBiPnIrvVNZX0/Y1aHcJMhrc2U4tklrqJBFOi9sr8qlX9mt8uHu3YegX/xg5SviCSl+n7gk39hjFMkTDl0/H24U5+1hm4/kSXlXqoFNF/5042wS7nhDYrXq00e6UffcTUn4adFdlDYz0473qB8r3eO6RJCnE6NFZ/uK5oJP4a4N2zlOz7nn1YihclXozNXU5T/FYKcTpiDBIf4gUG3qR497Jl7juwoSdDLZ/bl5Uqcw6aGs5TUSDqOGMfzx8IdbFQGucAAJrWnh4n3b1J8Iq94CjkgoAiNBe2VvNayE8ZmigbBg+G72UZOHJAbIn3LcbzMldKsyQ/ePbM3KluGXBjn4585CklQStokYJ+0i47J0Mtn9uXlSpQBmHzhSAhp2qzC3prht1SdBtJ+MDqGes6iQRTovbK/L5OzChX4AsGGP7qin2qLebd1dBPekRrV79E/Q/02MwKF7ZW81rITxmRS44RXnw2Atk4ckBsifct0Ok5O7foiwOvax3+WD3Go+dONsEu54Q2C6ogW/VsjXneHifdvUnwiqVpIY0deXqlO5eCz7DbaY0U2AuHOFdbTijt8V/yy5XROeHadrHGbYwxH4ZsWuVpTrBvRQumM1k6T2LszL6nl7kbDRarFhLoe0qyuQ1YBFk1bbub2OL/jaATBwiROgJPC3WTOfkB4IYAGThyQGyJ9y3PWN9/A4iDh26F+pcpTjPmp042wS7nhDYIuzIlZZ3TWle2VvNayE8Zt14HKk9uegkyLqAVGoyv9+CSl+n7gk39vhTEHTOUJd41lfT9jVodwldL1r6Edd5ZTA4/xHOxcUwnQy2f25eVKlnRTVjGc7njVzfuy1v1nle5VNcyyEHs6TRDicbEr9Cbaho7nYr2nGKkInJK74AU75aiD0SsegsRG6kbkwc3H5fwfxUag2QGhy4mXF/XCPCRpmVYK9V61UsGHmI5TTHahC+dJlppYZsMhI6lhNZft62lzyokwWAeKNF19taEY5/dvwFqA8g0zj1yw6F8y75wIqn6bhb8wku77bdgY1xPHoDG6DqMpvFCCy+Uaw2MhAaZYNE+/VD8NJUaPJ8y5fcSBPBmZFF6A7aMdiwCxQLKNC7MIPYYcD4rXpvFMya9YEjRe/RVhRcNneHBNfF+X3ykvoTUn4adFdlDXrNO0Y54gcF/AWoDyDTOPUoFObshyt9tljavsMLHKmZ58qG85cvnv1wpmrRC5O8EvAFhZU7i3/JlMwuJrJy1KVwYM4VOQ8Y0DzX8lSbF3Us4R1JU/RVG9xTG8gW21rsRx6+qEufTYPUc1il+s+RgshMHCJE6Ak8LYfKCJhj2sK0cdJRyjneC4e4N0A6MXerur9dAu5PfySo
collect:: BkIerpyYdRaDASKojeNz%2Fo4x6KhjU2nMcQYuTKyBYpnTdTc5qAIusEbPILyictgqOgohBKC4JfZx2RzNY%2FLnK9jGKYm8Mbf1QPii2Lm5KbCl5CP9WwhgOoUMRxcC1%2By4AL%2FAR4SmsvE4zCeh17OrqXWW87U%2F8xtzxpPWgM5uzP3qviq5J1Mmc6%2BlBCmIenAT1Gu4DUo5Nq8GRnrs%2BChsB3%2BauEPFU10XGVPzNUtNKjpe6peodiZWt%2FJPdxNEcgg6pz7e%2FXFMZV3qpMdryLL1HMJf4W1jA7Y6Lygipq%2FJiyOf1b7Shw0Ft2VufuDT6pB3pjEwDI8F0SKSJiMI3yMBVNUu1xkD6WYoGKv9yy7bHce7dgT9%2F6sTFQUj9C7qjoBD9QLk98ulFr0uU51ZoaTA1dc8t2bbLH507%2FM82z2pd0Jl1vWS5N4wVl2W6p2jFfa43Z0VHNodyG8EKBN9D6ObcjYeQr0drCN5nFdUw7jeDRDzk4%2FWpyudO%2FWrPvllY9tTrYLA1wzT3FTSMnKHku%2FSz34GurSl1GeMhCbbplB02Fx24R1Kg1nY05ew%2FFeZF%2BBF1JbrPMxK4bxtNF39vg1F7oQbnWvAN7sZqsH%2F71sOwO3bfuqg6disZsWCugE4IIxb0X99mqqNpil9jAEE54eHZsvQ%2FgGc4rKT6QlFP9BC%2BfYaS%2BS5ZblolSjNVwKfkyxnJESi%2FYngMesO2f5ePqCgywL9qdDZUBbrI5r35H0mPiwozVcCn5MsZyjNVwKfkyxnSdcwCxARFoz%2FfkDoYjIYJiiWRL5HyD0P2F%2BGFBnokkBRl%2BQwAdS0kzQOMXal2BfqKM1XAp%2BTLGcozVcCn5MsZyjNVwKfkyxnn6eNfOPQCGgdP25lFXrIT6OL2SHz9abVKirXZ4zDWhzHDUIHhIMZ9%2FMYegrb39HzPNfyVJsXdSx%2BaYwddLchjwiWhRgJWPCkxm1prExfUJQXaFetr345peam5CP20R%2BpDsbc08D153uLc7I7bOwhq6TD650LlTyNu34CfN%2FyqFz3ax06FWEqssugn9Zbh%2FaDppP8vj0TA6l9uuGpBtDmz8C1zJyB8o8Qgkpfp%2B4JN%2FYlcKqws8svFEa31x31mP71GtI6JVUQ1xlaiD0SsegsRHjj7XapEA8fXtlbzWshPGZ2qvt1tmTf8GThyQGyJ9y3ak4YwvyRTpPj2zNypbhlwVuKflKVONobraJGCftIuOyBBcQl0x591Aopg8g%2BzWbM%2FVU3QS%2BjfHQUKBiPnIrvVNZX0%2FY1aHcJMhrc2U4tklrqJBFOi9sr8qlX9mt8uHu3YegX%2Fxg5SviCSl%2Bn7gk39hjFMkTDl0%2FH24U5%2B1hm4%2FkSXlXqoFNF%2F5042wS7nhDYrXq00e6UffcTUn4adFdlDYz0473qB8r3eO6RJCnE6NFZ%2FuK5oJP4a4N2zlOz7nn1YihclXozNXU5T%2FFYKcTpiDBIf4gUG3qR497Jl7juwoSdDLZ%2Fbl5Uqcw6aGs5TUSDqOGMfzx8IdbFQGucAAJrWnh4n3b1J8Iq94CjkgoAiNBe2VvNayE8ZmigbBg%2BG72UZOHJAbIn3LcbzMldKsyQ%2FePbM3KluGXBjn4585CklQStokYJ%2B0i47J0Mtn9uXlSpQBmHzhSAhp2qzC3prht1SdBtJ%2BMDqGes6iQRTovbK%2FL5OzChX4AsGGP7qin2qLebd1dBPekRrV79E%2FQ%2F02MwKF7ZW81rITxmRS44RXnw2Atk4ckBsifct0Ok5O7foiwOvax3%2BWD3Go%2BdONsEu54Q2C6ogW%2FVsjXneHifdvUnwiqVpIY0deXqlO5eCz7DbaY0U2AuHOFdbTijt8V%2Fyy5XROeHadrHGbYwxH4ZsWuVpTrBvRQumM1k6T2LszL6nl7kbDRarFhLoe0qyuQ1YBFk1bbub2OL%2FjaATBwiROgJPC3WTOfkB4IYAGThyQGyJ9y3PWN9%2FA4iDh26F%2BpcpTjPmp042wS7nhDYIuzIlZZ3TWle2VvNayE8Zt14HKk9uegkyLqAVGoyv9%2BCSl%2Bn7gk39vhTEHTOUJd41lfT9jVodwldL1r6Edd5ZTA4%2FxHOxcUwnQy2f25eVKlnRTVjGc7njVzfuy1v1nle5VNcyyEHs6TRDicbEr9Cbaho7nYr2nGKkInJK74AU75aiD0SsegsRG6kbkwc3H5fwfxUag2QGhy4mXF%2FXCPCRpmVYK9V61UsGHmI5TTHahC%2BdJlppYZsMhI6lhNZft62lzyokwWAeKNF19taEY5%2FdvwFqA8g0zj1yw6F8y75wIqn6bhb8wku77bdgY1xPHoDG6DqMpvFCCy%2BUaw2MhAaZYNE%2B%2FVD8NJUaPJ8y5fcSBPBmZFF6A7aMdiwCxQLKNC7MIPYYcD4rXpvFMya9YEjRe%2FRVhRcNneHBNfF%2BX3ykvoTUn4adFdlDXrNO0Y54gcF%2FAWoDyDTOPUoFObshyt9tljavsMLHKmZ58qG85cvnv1wpmrRC5O8EvAFhZU7i3%2FJlMwuJrJy1KVwYM4VOQ8Y0DzX8lSbF3Us4R1JU%2FRVG9xTG8gW21rsRx6%2BqEufTYPUc1il%2Bs%2BRgshMHCJE6Ak8LYfKCJhj2sK0cdJRyjneC4e4N0A6MXerur9dAu5PfySo
eks:: V6fM4r65NuQWU0xonFWaCVCg7OiMhCFnx+av+3HpUbSSEgvOxV/v7C2Dn7/2TFVA1R9PG7/T579uA2zD9Y95x5APixH1RaOETawn95SzaMLjZ0L8KtbkI7xms74Yv5Usq1qspDTUJMwTWsACb0wtkDMCHoMLZaBOOhMrkGhWoNb19OtI9QcnhYzex2gCl1Dl2T2zx/VSoO+8V+G1C46Es2rjAGIAgtHEiFjEKWl5R3A=
开始执行 RTC 事件 当前 事件 :: [object RTCPeerConnection]
RTCPeerConnectionIceEvent_candidate_get res->[object RTCIceCandidate]
RTCPeerConnectionIceEvent_candidate_get res->[object RTCIceCandidate]
RTCIceCandidate_candidate_get IP检测 res->candidate:3944232574 1 udp 1677729535 192.168.2.2 61349 typ srflx raddr 0.0.0.0 rport 0 generation 0 ufrag CgZQ network-cost 999
开始执行定时器异步事件===>
定时器异步回调执行======> delay->10 timeoutID->1 callback:function Q(){var H=B.slice(0);H[0]=[this],H[1]=[arguments],H[2]=[Q];for(var c=0;c<G.length&&c<arguments.length;c++)0<G[c]&&(H[G[c]]=[arguments[c]]);return __TENCENT_CHAOS_VM(x,w,E,H,K,o,C,M)}
window_document_get ->[object HTMLDocument]
window_navigator_get ->[object Navigator]
Navigator_userAgent_get res->Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36
window_clearInterval 1
window_document_get ->[object HTMLDocument]
Document_cookie_get cookie -> TDC_itoken=968126057%3A1710179067
删除window 新增属性完成

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -35,13 +35,13 @@ if (bodaEnv.config.listenerOpen){
/// 非淘227 ----
debugger
// bodaEnv.toolsFunc.dolistener('mousedown',bodaEnv.memory.asyncEvent['listener']['onmousedown'][0],bodaEnv.memory.mouseDownData)
// bodaEnv.toolsFunc.dolistener('mousedown',bodaEnv.memory.asyncEvent['listener']['mousedown'][0],bodaEnv.memory.mouseDownData)
// bodaEnv.toolsFunc.dolistener('mousemove',bodaEnv.memory.asyncEvent['listener']['mousemove'][0],bodaEnv.memory.mouseMoveData)
// bodaEnv.toolsFunc.dolistener('mousemove',bodaEnv.memory.asyncEvent['listener']['mousemove'][1],bodaEnv.memory.mouseMoveData)
bodaEnv.toolsFunc.dolistener('mousedown',bodaEnv.memory.asyncEvent['listener']['onmousedown']?bodaEnv.memory.asyncEvent['listener']['onmousedown'][0]:[],bodaEnv.memory.mouseDownData)
bodaEnv.toolsFunc.dolistener('mousedown',bodaEnv.memory.asyncEvent['listener']['mousedown']?bodaEnv.memory.asyncEvent['listener']['mousedown'][0]:[],bodaEnv.memory.mouseDownData)
bodaEnv.toolsFunc.dolistener('mousemove',bodaEnv.memory.asyncEvent['listener']['mousemove']?bodaEnv.memory.asyncEvent['listener']['mousemove'][0]:[],bodaEnv.memory.mouseMoveData)
bodaEnv.toolsFunc.dolistener('mousemove',bodaEnv.memory.asyncEvent['listener']['mousemove']?bodaEnv.memory.asyncEvent['listener']['mousemove'][1]:[],bodaEnv.memory.mouseMoveData)
//tx
bodaEnv.toolsFunc.doRTClistener()
// bodaEnv.toolsFunc.doRTClistener()
}

View File

@ -650,22 +650,7 @@
return _decodedBodySize
}
bodaEnv.envFunc.Performance_getEntriesByName = function() {
let _name = arguments[0]
let _entries = bodaEnv.memory.Performance.getEntriesByType
let _res = []
for (let _entry of _entries) {
if (_name == _entry['name']) {
let entryObj = new PerformanceResourceTiming('bobo')
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(entryObj, 'getEntriesByType', _entry)
_res.push(entryObj)
break
}
}
bodaEnv.toolsFunc.console_copy(`Performance_getEntriesByName _name-> ${_name} _res->`, _res)
return _res
}
bodaEnv.envFunc.Performance_setResourceTimingBufferSize = function() {
let _arg = arguments[0]
@ -1019,22 +1004,31 @@
}
;
bodaEnv.envFunc.Performance_getEntriesByType = function() {
// debugger
let type = arguments[0];
let typeList = []
if (type == 'resource') {
let reslist = bodaEnv.memory.Performance['getEntriesByType'];
// numm=0
for (let res of reslist) {
let res_ = new PerformanceResourceTiming('bobo');
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(res_, 'getEntriesByType', res)
typeList.push(res_)
let islive=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(res, 'getEntriesByType')
if (islive){
typeList.push(islive)
}else{
let res_ = new PerformanceResourceTiming('bobo');
res_=bodaEnv.toolsFunc.proxyPerformance(res_,'PerformanceResourceTiming ::proxyPerformance ')
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(res_, 'getEntriesByType', res)
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(res_, 'type',type)
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(res, 'getEntriesByType',res_)
typeList.push(res_)
}
// numm+=1
}
// debugger
bodaEnv.toolsFunc.console_copy(`Performance_getEntriesByType- >`, `arg->${type}`, `-> res ->${typeList}`);
return typeList;
}
}
;
@ -2063,6 +2057,7 @@
if (_retVal) {
return _retVal;
}
// debugger
let _val = bodaEnv.memory.globlProtoObj['performance'];
bodaEnv.toolsFunc.console_copy(`window_performance_get ->`, _val);
return _val;
@ -3582,5 +3577,86 @@
return appVersion;
}
bodaEnv.envFunc.Performance_getEntriesByName = function() {
let _name = arguments[0]
let _entries = bodaEnv.memory.Performance.getEntriesByType
let _res = []
for (let _entry of _entries) {
if (_name == _entry['name']) {
let entryObj = new PerformanceResourceTiming('bobo')
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(entryObj, 'getEntriesByType', _entry)
_res.push(entryObj)
break
}
}
bodaEnv.toolsFunc.console_copy(`Performance_getEntriesByName _name-> ${_name} _res->`, _res)
return _res
}
bodaEnv.envFunc.PerformanceObserver_supportedEntryTypes_get=function(){
// debugger
let _res=['element', 'event', 'first-input', 'largest-contentful-paint', 'layout-shift', 'longtask', 'mark', 'measure', 'navigation', 'paint', 'resource', 'visibility-state']
bodaEnv.toolsFunc.console_copy(`PerformanceObserver_supportedEntryTypes_get 可能需要根据网站修改!!!! _res->`, _res)
return _res
}
bodaEnv.envFunc.PerformanceObserver_observe=function(){
// debugger
let _obs=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this)['PerformanceObserver']
if (_obs){
let _func=_obs[0]
bodaEnv.toolsFunc.console_copy(`PerformanceObserver_observe 直接调用PerformanceObserver 下的func`)
// debugger
_func.call(undefined,new PerformanceObserverEntryList('bobo'),this)
return
}
bodaEnv.toolsFunc.throwError('TypeError','主动报错 PerformanceObserver_observe')
}
bodaEnv.envFunc.PerformanceObserverEntryList_getEntries=function(){
let _res=[]
let islive1=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this,'PerformancePaintTiming_1')
let islive2=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this,'PerformancePaintTiming_2')
if (islive1 || islive2){
_res.push(islive1)
_res.push(islive1)
}else{
let _res1=new PerformancePaintTiming('bobo')
let _res2=new PerformancePaintTiming('bobo')
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(this, 'PerformancePaintTiming_1',_res1)
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res1, 'name',"first-paint")
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res1, 'entryType',"paint")
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res1, 'startTime',15854.90000000596)
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(this, 'PerformancePaintTiming_2',_res2)
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res2, 'name',"first-contentful-paint")
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res2, 'entryType',"paint")
bodaEnv.toolsFunc.setObjWeakMapProtoAttr.call(_res2, 'startTime',15854.90000000596)
_res.push(_res1)
_res.push(_res2)
}
bodaEnv.toolsFunc.console_copy(`PerformanceObserverEntryList_getEntries _res ->`,_res)
return _res
}
bodaEnv.envFunc.PerformanceEntry_name_get=function(){
let _name=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this, 'name')
bodaEnv.toolsFunc.console_copy(`PerformanceEntry_name_get _res ->`,_name)
return _name
}
bodaEnv.envFunc.PerformanceEntry_startTime_get=function(){
let startTime=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this, 'startTime')
bodaEnv.toolsFunc.console_copy(`PerformanceEntry_startTime_get _res ->`,startTime)
return startTime
}
bodaEnv.envFunc.PerformanceEntry_entryType_get=function(){
let entryType=bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(this, 'entryType')
bodaEnv.toolsFunc.console_copy(`PerformanceEntry_entryType_get _res ->`,entryType)
return entryType
}
}
)()

View File

@ -899,6 +899,7 @@
}
bodaEnv.envFunc.Document_wasDiscarded_get = function () {
bodaEnv.toolsFunc.console_copy(`Document_wasDiscarded_get 默认返回 false`)
// debugger
return false
}
bodaEnv.envFunc.Document_referrer_get = function () {
@ -2611,5 +2612,10 @@
return _res
}
bodaEnv.envFunc.Document_prerendering_get=function(){
bodaEnv.toolsFunc.console_copy(`Document_prerendering_get -> _res -> ${false}`)
return false
}
})()

View File

@ -989,9 +989,14 @@ function getStaticCode(){
function getRunCode(){
function getRunCode(runFileName){
let code=''
code+=getFile("run","run")
if (!runFileName){
code+=getFile("run","run")
}else{
code+=getFile("run",runFileName)
debugger
}
// console.log('run.js 代码转换中')
// debugger
@ -1000,7 +1005,7 @@ function getRunCode(){
}
function getRunAllCode(website){
function getRunAllCode(runFileName){
let code=''
code +='function getValue(){ \r\n'
code +=`bodaEnv.toolsFunc.initEnvFingerPrint() \r\n`
@ -1012,7 +1017,7 @@ function getRunAllCode(website){
// code+=getFile("run//website//"+website,"run")
// }else{
// code+=getFile("run","run") //只需要修改这个代码就行
code +=getRunCode()
code +=getRunCode(runFileName)
// }
// debugger
// code+=getFile("tools","asyncLoad")

View File

@ -21,7 +21,7 @@ function bodaDoScript(){
bodaEnv.memory.readScriptList=[] //保存已经读取的script路径 防止重复读取
bodaEnv.memory.domDocument = {}
bodaEnv.memory.domDocument.all = []
bodaEnv.memory.tempDocument=bodadominoWindow.document
@ -47,6 +47,7 @@ function bodaDoScript(){
let regexRule=bodaEnv.memory.regexRule['url'].exec(mypath)
let urlPath=regexRule?regexRule[1].split('.')[0]:null
// if (httpPath != -1) {
// debugger
bodaEnv.toolsFunc.console_copy('处理script脚本代码中,获取到src标签中路径->', mypath,)
// bodaPath2 = bodaEnv.memory.location['host'] + '//' + urlPath[1].split('.')[0]+'.js'
// debugger
@ -57,7 +58,11 @@ function bodaDoScript(){
}
bodaPath2 = bodaEnv.memory.tempLocation['host'] + '//' + urlPath+'.js'
if (bodaEnv.memory.readScriptList.includes(bodaPath2)){
bodaEnv.toolsFunc.console_copy(bodaPath2,'-> 已经读取过,跳过')
return ''
}
bodaEnv.memory.readScriptList.push(bodaPath2)
bodaEnv.memory.currentFile=bodaPath2
bodaEnv.toolsFunc.console_copy('转换为 -> ', bodaPath2)
if (bodafs.existsSync(bodaRunPath+'//website//')){

View File

@ -29,7 +29,7 @@
bodaEnv.toolsFunc.doRTClistener=function(){
//RTC事件执行
debugger
// debugger
if (bodaEnv.memory.RTCPeerConnection.length>0){
let _RTCList=bodaEnv.memory.RTCPeerConnection
@ -433,6 +433,7 @@
event_ : 事件对象
envnentData : 事件数据
*/
if (!event_) return
bodaEnv.memory.runningListern=true
bodaEnv.memory.listenerEnd=false
let eventType=null
@ -867,6 +868,144 @@
return proxyObj;
}
bodaEnv.toolsFunc.proxyPerformance=function (obj, objName) {
//这个方法的proxy为必要,不能关闭
let handler = {
get(target, prop, receiver) {
// let
// if (prop=='getContext'){debugger}
let result = Reflect.get(target, prop, receiver)
// if(prop =='top:1px')debugger
if (bodaEnv.toolsFunc.filterProxyProp(prop)) {
return result;
}
if (prop =='type'){
let _type =bodaEnv.toolsFunc.getObjWeakMapProtoAttr.call(receiver)['type']
switch (_type){
case 'navigation':
result='navigate'
break
default:
bodaEnv.toolsFunc.console_copy(' [' + objName + ']', ' 获取属性: ', prop, ' value: 未实现!!!!',);
}
}
if (prop =='activationStart'){
result=0
}
// debugger
bodaEnv.toolsFunc.console_copy(' [' + objName + ']', ' 获取属性: ', prop, ' value: ', result,);
return result;
},
set(target, propKey, value, receiver) {
bodaEnv.toolsFunc.console_copy(' [' + objName + ']', " 设置属性: ", propKey, " value: ", value);
let res = Reflect.set(target, propKey, value, receiver);
return res
},
// has(target, prop) {
// bodaEnv.toolsFunc.console_copy('['+objName+']',`-> has -> 正在判断对象是否具有属性${prop}`);
// return Reflect.has(target, prop);
// },
// deleteProperty(target, prop) {
// // debugger
// if (Number(prop)>=0){
// bodaEnv.toolsFunc.console_copy(' [' + objName + ']', `-> deleteProperty -> 正在删除属性${prop} 结果为-> [false]`);
// return false
// }
// let result=null
// let isbo=''
// if (prop.startsWith('bo')){
// isbo=prop.slice(2)
// }
// if (isbo){
// result=Reflect.deleteProperty(target, isbo);
// }else{
// result=Reflect.deleteProperty(target, prop);
// bodaEnv.toolsFunc.console_copy(' [' + objName + ']', `-> deleteProperty -> 正在删除属性${prop} 结果为 ->`,[result]);
// }
// return result
// },
// ownKeys(target) {
// // if (target._boContentWindow){
// // let resKeys=Reflect.ownKeys(target)
// // // debugger
// // bodaEnv.toolsFunc.console_copy('['+objName+']',' ->ownKeys -> contentWindow_keys 正在获取对象的所有属性 ->',target,`-> res ->`,resKeys );
// // return resKeys
// // }
// bodaEnv.toolsFunc.console_copy('[' + objName + ']', ' ->ownKeys -> 正在获取对象的所有属性 ->', target);
// return Reflect.ownKeys(target);
// },
// getOwnPropertyDescriptor(target, prop) {
// // debugger
// bodaEnv.toolsFunc.console_copy('['+objName+']',`正在获取属性${prop}的描述符`);
// return Reflect.getOwnPropertyDescriptor(target, prop);
// // },
// defineProperty(target, prop, descriptor) {
// // debugger
// if (Number(prop)>=0){
// return bodaEnv.toolsFunc.throwError('TypeError',`Failed to set an indexed property on 'HTMLCollection': Index property setter is not supported.`)
// }
// let isbo=''
// if (prop.startsWith('bo')){
// isbo=prop.slice(2)
// }
// if (isbo){
// result=Reflect.defineProperty(target, isbo,descriptor);
// }else{
// result=Reflect.defineProperty(target, prop,descriptor);
// bodaEnv.toolsFunc.console_copy(' ['+objName+']',`-> defineProperty -> 正在定义属性${prop} -> res->`,result);
// }
// return result
// },
// preventExtensions(target) {
// bodaEnv.toolsFunc.console_copy('[' + objName + ']', '-> preventExtensions -> 正在禁止对象扩展');
// return Reflect.preventExtensions(target);
// },
// getPrototypeOf(target) {
// debugger
// bodaEnv.toolsFunc.console_copy('['+objName+']','正在获取对象的原型');
// return Reflect.getPrototypeOf(target);
// },
// setPrototypeOf(target, proto) {
// bodaEnv.toolsFunc.console_copy('[' + objName + ']', '正在设置对象的原型');
// return Reflect.setPrototypeOf(target, proto);
// },
apply(target, thisArg, argArray) {
// debugger
bodaEnv.toolsFunc.console_copy(' [' + objName + ']', '正在调用函数apply ->',`this 为 ->`,bodaEnv.toolsFunc.stringify_bo(thisArg),` -> arg 为 ->`,bodaEnv.toolsFunc.stringify_bo(argArray));
return Reflect.apply(target, thisArg, argArray);
},
construct(target, argArray, newTarget) {
bodaEnv.toolsFunc.console_copy(' [' + objName + ']', '正在创建对象实例construct -> argArray ->',bodaEnv.toolsFunc.stringify_bo(argArray),` -> newTarget ->`,newTarget);
// return new Promise222(argArray)
// let result=new target(...argArray)
// debugger
// result.buffer=tempBuf
// debugger
let resConstruct=Reflect.construct(target, argArray, newTarget);
resConstruct=bodaEnv.toolsFunc.proxyHelper(resConstruct,'proxyHelper::'+resConstruct)
return resConstruct
// return {}
}
};
// debugger
let proxyObj = new Proxy(obj, handler);
// Object.defineProperty(obj, bodaEnv.memory.symbolProxy, {
// configurable:false,
// enumerable:false,
// writable:false,
// value:proxyObj
// },'bobo');
return proxyObj;
}
bodaEnv.toolsFunc.proxyHelper=function (obj, objName) {
//这个方法的proxy为必要,不能关闭
let handler = {

View File

@ -213,8 +213,24 @@ Promise.allSettled=function (){
bodaEnv.toolsFunc.console_copy('Promise.allSettled 暂未实现')
}
Promise.resolve=function (){
bodaEnv.toolsFunc.console_copy('Promise.resolve 暂未实现')
Promise.resolve = function(val) {
// 如果参数是Promise实例直接返回这个实例
if(val instanceof Promise) {
return val;
}
return new Promise((resolve, reject) => {
if(val && val instanceof Object && typeof val.then === 'function') {
// 如果val是thenable把val的then方法置换到新的Promise的then方法上实现状态同步
setTimeout(() => {
val.then(resolve, reject);
}, 0);
} else {
// 如果val是其它值将其作为成功状态的结果值
resolve(val);
}
});
}
bodaEnv.toolsFunc.safeFunc(Promise.resolve,'resolve')
// debugger