JavaScript逆向时,常用的11个hook

提示:记录工作中遇到的需求及解决办法

文章目录

  • 前言
  • 01、dom操作
  • 02、Cookie操作
  • 03、事件监听操作
  • 04、AJAX拦截操作
  • 05、函数替换操作
  • 06、Header操作
  • 07、URL操作
  • 08、JSON.stringify操作
  • 09、JSON.parse操作
  • 10、eval操作
  • 11、Function操作


前言

在逆向分析JavaScript代码时,开发者经常使用一些用于hook(钩子)的技术来监视或修改程序的行为。以下是一些常用的hook技术及其示例代码。


提示:以下是本篇文章正文内容,下面案例可供参考

01、dom操作

在JS逆向油猴脚本中,DOM操作是最常用的一种Hook方式。通过修改DOM元素的属性和样式,我们可以实现对网页的控制和修改。

// 修改DOM元素的属性
document.getElementById('elementId').setAttribute('attrName', 'attrValue'); // 修改DOM元素的样式
document.getElementById('elementId').style.property = 'value';

02、Cookie操作

Cookie Hook 用于定位 Cookie 中关键参数生成位置,以下代码演示了当 Cookie 中匹配到了 __dfp 关键字, 则插入断点:

(function () {'use strict';var cookieTemp = '';Object.defineProperty(document, 'cookie', {set: function (val) {if (val.indexOf('__dfp') != -1) {debugger;}console.log('Hook捕获到cookie设置->', val);cookieTemp = val;return val;}, get: function () {return cookieTemp;},});
})();(function () {'use strict';var org = document.cookie.__lookupSetter__('cookie');document.__defineSetter__('cookie', f

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/63933.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

什么是EDI 896?

EDI 896 报文即产品尺寸维护报告(Product Dimension Maintenance),是一种常用于零售和供应链管理领域的EDI(电子数据交换)事务集。它的主要功能是用来传递或更新有关产品尺寸、属性和分类等信息。此消息通常在以下场景…

PPO系列2 - GAE优势函数

策略梯度: 痛点: 1. t时刻的动作,其只会影响t时刻之后得到的Reward,和之前的无关。 2. t时刻的动作,对接下来邻近的几个Reward关系较大,跟远的关系小。 改进: 1. 只累加t时刻之后的Reward。 2. …

subList与原始List相互影响

在 Java 中,List#subList(int fromIndex, int toIndex) 方法返回的是原始列表的一个视图(view),而不是一个独立的副本。这意味着对 subList 的任何修改都会反映到原始列表中,反之亦然。这可能会导致意外的行为&#xf…

pytest入门三:setup、teardown

https://zhuanlan.zhihu.com/p/623447031 function对应类外的函数,每个函数调用一次 import pytest def setup_module():print(开始 module)def teardown_module():print(结束 module)def setup_function():print(开始 function)def teardown_function():print(结…

React+Antd修改Table组件滚动条样式

版本 Antd 5.x.x React 18.x.x Tsx <TabledataSource{SocrePaMing.length > 0 ? SocrePaMing : []}columns{tableScoreColumns}rowKey"attribute"pagination{false}className"custom-table"scroll{{ y: 400 }} /> Css .ant-table-body …

一、使用 mdadm 工具在 Ubuntu 上创建 RAID 1(镜像)

在 Ubuntu 上创建 RAID 1&#xff08;镜像&#xff09;可以使用 mdadm 工具。以下是详细的步骤&#xff0c;包括安装必要的工具、创建 RAID 阵列、格式化并挂载 RAID 设备。 步骤一&#xff1a;安装 mdadm 首先确保你已经安装了 mdadm 包&#xff0c;这是管理软件 RAID 所需的…

webstorm开发uniapp(从安装到项目运行)

1、下载uniapp插件 下载连接&#xff1a;Uniapp Tool - IntelliJ IDEs Plugin | Marketplace &#xff08;结合自己的webstorm版本下载&#xff0c;不然解析不了&#xff09; 将下载到的zip文件防在webstorm安装路径下&#xff0c;本文的地址为&#xff1a; 2、安装uniapp插…

Tomcat的下载和使用,配置控制台输出中文日志

目录 1. 简介2. 下载3. 使用3.1 文件夹展示3.1.1 控制台输出乱码 3.2 访问localhost:80803.3 访问静态资源 4. 总结 1. 简介 Tomcat&#xff0c;全称为Apache Tomcat&#xff0c;是一个开源的Web应用服务器和Servlet容器&#xff0c;由Apache软件基金会的Jakarta项目开发。它实…

低功耗视频监控丨4G无线太阳能监控系统在林业场景中如何发挥作用?

在林业领域&#xff0c;4G无线太阳能监控系统的引入标志着向绿色、智能管理迈出的重要一步。视频监控太阳能供电通过集成太阳能供电、4G无线通信、视频监控和物联网技术&#xff0c;为林业监控提供了一个绿色、智能、高效的解决方案。它不仅能够实现对森林资源的实时监控&#…

硬链接方式重建mysql大表

硬链接方式重建mysql大表 操作步骤 选择数据库 select datadir; 进入数据文件目录 cd /data/mysql/mydata/testdb 创建硬连接 ln test_trans_msg_xx.ibd test_service_trans_msg_xx.ibd.bak ll test_trans_msg_xx* 进库删除表 DROP TABLE test_trans_msg_xx; 重建表 CREATE T…

dolphinscheduler服务RPC框架源码解析(二)RPC核心注解@RpcService和@RpcMethod设计实现

1.工程目录 从3.2.1版本之后这个dolphinscheduler中的RPC框架工程就从原来的dolphinscheduler-remote工程重构到了dolphinscheduler-extract工程。 dolphinscheduler 父项目 dolphinscheduler-extract RPC服务项目 dolphinscheduler-extract-alert 监控告警服务RPC接口定义、…

解析 .proto 文件

我这里仅仅是介绍了proto这个库解析.proto文件后的参数 我也有个小demo对解析的数据进行使用&#xff0c;具体代码可以看这know-bay 下面解析不是很全面&#xff0c;但是对于现在我的来说是够用的&#xff0c;关于更加详细和全的&#xff0c;看以后是否有机会补充了 假设 .prot…

grpc的负载均衡

grpc的负载均衡分为client-side load balance和server-side load balance。 所谓的“客户端负载均衡”是指主调方调用被调方的时候&#xff0c;在grpc.DialContext里需要指定grpc.WithDefaultServiceConfig&#xff0c;这个DefaultServiceConfig默认是用pick-first策略。也支持…

太速科技-622-基于ADRV9002 +ZYNQ7020 的软件无线电 SDR(升级AD9361)

基于ADRV9002 ZYNQ7020 的软件无线电 SDR&#xff08;升级AD9361&#xff09; 一、板卡概述 板卡由ADI ADRV9002Xilinx XC7Z020-CLG484芯片设计的整板&#xff0c;包含双路射频输入输出通道&#xff0c;支持千兆网络&#xff0c;RS232&#xff0c;触摸屏等接口&#xff…

如何计算kv cache的缓存大小

符号定义 首先&#xff0c;定义一些符号&#xff1a; ( B )&#xff1a;批大小&#xff08;Batch Size&#xff09; ( L )&#xff1a;序列长度&#xff08;Sequence Length&#xff09; ( N )&#xff1a;Transformer 层数&#xff08;Number of Transformer Layers&#xf…

SpringBoot 手动实现动态切换数据源 DynamicSource (上)

大家好&#xff0c;我是此林。 在实际开发中&#xff0c;经常可能遇到在一个SpringBoot Web应用中需要访问多个数据源的情况。 下面来介绍一下多数据源的使用场景、底层原理和手动实现。 一、 多数据源经典使用场景 场景一&#xff1a;业务复杂&#xff0c;数据量过大 1. 业务…

SQLServer定时备份到其它服务器上

环境 Microsoft SQL Server 2019 (RTM) - 15.0.2000.5 (X64) SQL Server Management Studio 15.0.18384.0 SQL Server 管理对象 (SMO) 16.100.46367.54 Microsoft .NET Framework 4.0.30319.42000 本地操作系统&#xff08;SQLServer环境&#xff09; Windows 11 远程操作系统…

PaddleOCR模型ch_PP-OCRv3文本检测模型研究(二)颈部网络

上节研究了PaddleOCR文本检测v3模型的骨干网&#xff0c;本文接着研究其颈部网络。 文章目录 研究起点残注层颈部网络代码实验小结 研究起点 摘取开源yml配置文件&#xff0c;摘取网络架构Architecture中颈部网络的配置如下 Neck:name: RSEFPNout_channels: 96shortcut: True可…

IEEE T-RO 软体机器人手指状态估计实现两栖触觉传感

摘要&#xff1a;南方科技大学戴建生院士、林间院士、万芳老师、宋超阳老师团队近期在IEEE T-RO上发表了关于软体机器人手指在两栖环境中本体感知方法的论文。 近日&#xff0c;南方科技大学戴建生院士、林间院士、万芳老师、宋超阳老师团队在机器人顶刊IEEE T-RO上以《Propri…

Java 环境变量配置全解析

一、Java 环境变量配置的重要性 程序运行基础 确保 Java 应用能够在操作系统中被正确识别和启动&#xff0c;否则将无法执行任何 Java 代码。为 Java 运行时环境&#xff08;JRE&#xff09;提供必要的路径信息&#xff0c;使其能找到所需的类库和资源。使得系统可以定位到 Jav…