type
Post
status
Published
date
Jul 18, 2024
slug
summary
tags
category
爬虫
icon
password
函数的HOOK
Document
Push
Function
HOOK方法检测(以Document为例)
- 使用标准定义进行HOOK检测

- 借用别人的方法改变指向进行hook检测
HOOK检测方法隐藏(以Document为例)
- 使用标准定义进行HOOK检测对抗
- 借用别人的方法改变指向进行hook检测对抗
对象的HOOK与检测
HOOK
document.cookie = "esword=100”不是一个赋值过程,而是一个拼接过程

检测

Proxy(代理)

Q&A
对象都可以被HOOK嘛?
一部分可以,剩下的都不可以,尤其是与windown相关的内容
比如location【控制网页URL的】
document【控制文档流的】
wondown【控制全局的js】
网络请求
JS小知识
apply、call 和 bind 都是 JavaScript 中用来改变函数执行上下文 (this 指向)的方法,它们之间的主要区别在于传递参数的方式以及调用时机。以下是它们的详细区别:apply
- 用法:
function.apply(thisArg, [argsArray])
- 参数:
thisArg: 调用函数时的this值。argsArray: 一个数组或类数组对象,包含调用函数时传入的参数。
- 特点:
apply方法会立即调用函数,并传入一个参数数组。
- 示例:
call
- 用法:
function.call(thisArg, arg1, arg2, ...)
- 参数:
thisArg: 调用函数时的this值。arg1, arg2, ...: 依次传入调用函数的参数。
- 特点:
call方法会立即调用函数,并依次传入参数。
- 示例:
bind
- 用法:
function.bind(thisArg, arg1, arg2, ...)
- 参数:
thisArg: 调用函数时的this值。arg1, arg2, ...: 预置的参数,这些参数在调用新函数时会依次传入。
- 特点:
bind方法不会立即调用函数,而是返回一个新的函数,当这个新的函数被调用时,this的值会被绑定到thisArg,并且预置的参数会被传入函数。
- 示例:
总结
apply和call都是立即调用函数,区别在于参数的传递方式:apply传递参数数组。call依次传递参数。
bind返回一个新的函数,并且可以预置参数,不会立即调用函数。
这些方法在处理函数的上下文问题时非常有用,尤其是在回调函数和事件处理程序中。
- 作者:esword
- 链接:https://blog.esword.cn//article/a0c70056-8a74-4ede-b98c-89661608d2e5
- 声明:本文采用 CC BY-NC-SA 4.0 许可协议,转载请注明出处。



