JS加密/解密之HOOK实战2

上一篇文章介绍了HOOK常规的应用场景,这篇我们讲一下HOOK其他原生函数。又是一个新的其他思路

很多时候,当我们想要某些网站的请求参数的时候,因为某些加密导致了获取起来很复杂。

这时候hook就十分方便了

源代码

js 复制代码
var _JSON_Parse = JSON.parse;
var _JSON_Stringify = JSON.stringify;
JSON.parse = function(params){
	console.log('正在将字符串转化为json对象', params);
  return _JSON_Parse(params);
}

JSON.stringify = function(params){
  console.log('正在将json对象转化为字符串', params);
  return _JSON_Stringify(params);
}

var xhr = new XMLHttpRequest();
var url = 'https://www.jsjiami.com';  // 全国首家免费js加密,企业级加密,为您的代码保驾护航  接人工解\密

xhr.open('GET', url, true);
xhr.setRequestHeader('Content-Type', 'application/json');

// 如果有请求体数据,使用 JSON.stringify 转换为 JSON 字符串
var requestData = { key: 'value' };
xhr.send(JSON.stringify(requestData));

xhr.onreadystatechange = function () {
  if (xhr.readyState === 4) {
    if (xhr.status === 200) {
      document.getElementById('result').innerText = xhr.responseText;
    } else {
      document.getElementById('result').innerText = 'Error: ' + xhr.status;
    }
  }
};

还是老样子,废话不多说。大家看得懂代码的就直接看,看不懂的直接丢浏览器运行。

会发现在提交请求参数的时候打印出我们想看到的请求参数。

各位可以参考这两篇文章举一反三,实现更多有趣有用的代码出来。

相关推荐
花归去25 分钟前
ant的a-table更改表格的高度
前端·javascript·html
sibylyue1 小时前
基于 Vben Admin 框架的 Vue 3 前端项目配置文件及常用命令
前端·javascript·vue.js
SomeB1oody1 小时前
【RustyML入门】7.2. 深入模型持久化
开发语言·后端·机器学习·rust·教程
yaoxin5211231 小时前
502. Java 反射 - 编写 MessageInterceptor 类
java·开发语言
wuyk5551 小时前
Python零基础入门第五章:元组Tuple(不可变容器详解、列表与元组区别)
开发语言·python
2601_965798471 小时前
Build a Fast, High-Ranking Restaurant Website with Rolanda Theme
开发语言·ios·swift
caimouse1 小时前
ReactOS 窗口系统分析(25):标题栏显示与系统按钮 — nonclient.c 标题栏专题
c语言·开发语言
诺伦1 小时前
Rust 错误处理实战:从 unwrap 到优雅 Result 的进阶之路
开发语言·后端·rust
caimouse2 小时前
ReactOS 窗口系统分析(14):计时器/属性/加速键/热键 — timer.c + prop.c + accelerator.c + hotkey.c
c语言·开发语言·reactos
circuitsosk2 小时前
Python 模块与包管理:import 机制、虚拟环境与 pip 完全指南
开发语言·python·pip·依赖管理·模块与包