type
Post
status
Published
date
Jul 18, 2024
slug
summary
tags
category
爬虫
icon
password

函数的HOOK

Document

Push

Function

 

HOOK方法检测(以Document为例)

  1. 使用标准定义进行HOOK检测
 
notion image
  1. 借用别人的方法改变指向进行hook检测

    HOOK检测方法隐藏(以Document为例)

    1. 使用标准定义进行HOOK检测对抗
    1. 借用别人的方法改变指向进行hook检测对抗
     

    对象的HOOK与检测

    HOOK

     
     
     
     
    document.cookie = "esword=100”不是一个赋值过程,而是一个拼接过程
    notion image
     

    检测

    notion image

    Proxy(代理)

    notion image
     

    Q&A

    对象都可以被HOOK嘛?
    一部分可以,剩下的都不可以,尤其是与windown相关的内容
    比如location【控制网页URL的】
    document【控制文档流的】
    wondown【控制全局的js】
     

    网络请求

    JS小知识

    applycallbind 都是 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,并且预置的参数会被传入函数。
        • 示例:

          总结

          • applycall 都是立即调用函数,区别在于参数的传递方式:
            • apply 传递参数数组。
            • call 依次传递参数。
          • bind 返回一个新的函数,并且可以预置参数,不会立即调用函数。
          这些方法在处理函数的上下文问题时非常有用,尤其是在回调函数和事件处理程序中。
          rust基础学习Go软件推荐
          Loading...