函数的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...