首页 > 其他分享 >JS加密/解密之HOOK实战2

JS加密/解密之HOOK实战2

时间:2023-12-08 19:32:05浏览次数:26  
标签:stringify 加密 xhr 解密 JS HOOK JSON params var

JS加密/解密之HOOK实战2_JSON

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

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

这时候hook就十分方便了

源代码

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

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

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

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

标签:stringify,加密,xhr,解密,JS,HOOK,JSON,params,var
From: https://blog.51cto.com/u_15785573/8741519

相关文章

  • js解构赋值如何定义默认值?
    在JavaScript中,我们可以在解构赋值语句中定义默认值。这就意味着,如果我们试图解构一个不存在的属性,或者属性值为undefined,那么我们可以为这个属性定义一个默认值。这在处理JavaScript对象或数组时特别有用,因为我们可能会遇到这样的情况,即某些属性在某些情况下可能不存在或值为und......
  • vue+spirngboot前后端数据加解密(基于AES+RSA实现)
    案例说明案例只针对post请求这里使用’Content-Type’:‘application/x-www-form-urlencoded;charset=UTF-8’;为键值对的形式(非json)AES加密数据,RAS加密AES的key实现思路前台首先请求非加密接口获取后台的公钥前台在请求前生成自己的公钥和私钥,以及AES对称加密的key使用前台......
  • js 默认展示两行多余隐藏滑动及添加滑动条
    <divclass="nav-box"@scroll="scroll"><divfor="list"class="nav"><divclass="item-box">item</div></div></div><divclass="scroll-box"v-show=&q......
  • tesseract.js 又一个基于webassembly 的tesseract ocr 包装
    tesseract.js是基于webassembly的jstesseract实现,可以在web以及node中运行,我以前简单介绍过一个基于webassembly的工具tesseract-wasm的实现相对简单(包括构建),当然技术上都是基于了emscripten进行的构建,tesseract.js包装了tesseract.js-core功能相比tesseract-wasm丰富......
  • 用html+css+js做canvas烟花模拟网页动画代码
    圣诞节、元旦就要到了,本案例我们将用html+css+js做canvas烟花模拟网页动画代码,程序员的浪漫这不就来了嘛,与家人朋友一起看烟花吧!   附源码<!DOCTYPEhtml><htmllang="en"><head> <metacharset="UTF-8"/> <title>烟花模拟器</title> <metaname="viewport"......
  • Gson与FastJson详解
    Gson与FastJson详解Java与JSON做什么?将Java中的对象快速的转换为JSON格式的字符串.将JSON格式的字符串,转换为Java的对象.Gson将对象转换为JSON字符串转换JSON字符串的步骤:引入JAR包在需要转换JSON字符串的位置编写如下代码即可:Stringjson=newGson().toJSON(要......
  • 解密 ArcGraph 分布式一致性:Raft 协议与分布式事务实现丨技术专栏
    导读:本文提出了一种将事务日志和Raft日志融合在一起的机制,从而实现了分布式事务和数据一致性的场景。01背景介绍分布式系统是伴随着互联网的高速发展而出现的。其出现为了应对单机系统无法解决的高并发、高可用性、容错性等问题。分布式系统将传统的系统扩容模式,从scaleup......
  • JSP判断两个时间的时间差
    varqueryStartTime=$("#queryStartTime").val();varqueryEndDate=$("#queryEndDate").val();if(queryStartTime==null||queryEndDate==null){alertx("开始日期、结束日期都不可为空");return;}vartemp_field1=$("#querySta......
  • SpringBoot+线程池实现高频调用http接口并多线程解析json数据
    场景Springboot+FastJson实现解析第三方http接口json数据为实体类(时间格式化转换、字段包含中文):https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/134872936Java中ExecutorService线程池的使用(Runnable和Callable多线程实现):https://blog.csdn.net/BADAO_LIUMAN......
  • java JSON对象与字符串间的转换
    importcom.alibaba.fastjson.JSON;importcom.alibaba.fastjson.JSONObject;//字符串转为JSON对象StringstrParam="{\"callerid\":\"013941128270\",\"timestart\":\"2021-07-2709:37:42\",\"status\"......