-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest.js
76 lines (62 loc) · 1.45 KB
/
test.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
// var hook = require('./hook.user')
// console.hooks.hookfunc(console, "log")
obj = {
keyA: "As",
KeyB: 1231213123,
Key: "3",
func: () => {
return "123231"
},
func2: (res) => {
return res + 1
},
detectFunc: () => {
console.trace("trace")
console.trace(this.toString())
return console.log(Error("detect").stack)
}
}
// console.hooks.hookValueViaObject("objx", obj, "Key" )
obj = console.hooks.hookValueViaProxy("objx", obj)
obj.keyA
obj.Key
obj.KeyB = "1231"
// console.hooks.hookValueViaGetSet("objx",obj, "Key")
obj.keyA = "12312"
obj.Key = "B"
obj.Key = "C"
console.log(obj.func())
console.hooks.hookfunc(obj, "func", function (res) {
let [ret, originalFunction, arguments, env] = res;
return "114514"
})
console.log(obj.detectFunc())
setInterval(function () {
// console.log("debugger");
// debugger
}, 123);
setInterval(()=> {
// debugger
}, 123)
console.hooks.hookfunc(obj, "func2", ()=>{}, (res)=>{
let [originalFunction, arguments, t] = res;
var handler = arguments[0];
console.log(handler)
return [123]
})
obj.func2(12);
function re(){ Function["constructor"]("return () => {debugger}")["call"]("action")}
// setInterval(re, 123);
function a() {
function b() {
function c() {
console.log(12)
console.log(console.hooks.dumpstack())
}
c()
}
b()
}
a()
a = console.hooks.directhookfunc(a)
a()