提示:记录工作中遇到的需求及解决办法
文章目录
- 前言
- 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