爬虫逆向之常见的JS Hook示例
在JavaScript中,hook通常指的是通过替换或修改函数、属性或对象来拦截或修改程序行为的技术。
以下是一些常见的hook示例:
- 函数挂钩(Function Hooking):
// 原始函数
function originalFunction() {
console.log("Original function called");
}
// 替换函数
function newFunction() {
console.log("Hooked function called");
}
// Hooking the original function
originalFunction = newFunction;
// 调用原始函数,实际上会调用hooked函数
originalFunction(); // 输出: Hooked function called
- 属性挂钩(Property Hooking):
// 原始对象
const obj = {
originalProperty: "Original value"
};
// 拦截属性访问
Object.defineProperty(obj, 'originalProperty', {
get