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;
    }
  }
};

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

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

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

相关推荐
蓝天智能28 分钟前
立体字型效果的Qt QSS实现
开发语言·qt
艾莉丝努力练剑28 分钟前
【C++:哈希表】从哈希冲突到负载因子:熟悉哈希表的核心机制
开发语言·c++·stl·散列表·哈希表·哈希·映射
虾..33 分钟前
C++ 特殊类的设计
开发语言·c++
拾忆,想起1 小时前
Dubbo超时问题排查与调优指南:从根因到解决方案
服务器·开发语言·网络·微服务·架构·php·dubbo
7ioik2 小时前
什么是线程池?线程池的作用?线程池的四种创建方法?
java·开发语言·spring
寻星探路2 小时前
JavaSE重点总结后篇
java·开发语言·算法
Charles_go3 小时前
C#中级8、什么是缓存
开发语言·缓存·c#
じòぴé南冸じょうげん3 小时前
若依框架favicon.ico缓存更新问题解决方案:本地生效但线上未更新
前端·javascript·前端框架·html
狮子座的男孩4 小时前
js基础高级:01、数据类型(typeof、instanceof、===的使用)、数据与变量与内存(定义、赋值与内存关系、引用变量赋值、js调函数传参)
前端·javascript·经验分享·数据类型·数据与变量与内存·赋值与内存关系·引用变量赋值
松涛和鸣5 小时前
14、C 语言进阶:函数指针、typedef、二级指针、const 指针
c语言·开发语言·算法·排序算法·学习方法