【JS逆向六】(上)逆向模拟生成某网站的【sig】和【payload】的值 仅供学习

逆向日期:2024.02.07

使用工具:Node.js

加密方法:未知 / md5标准库

文章全程已做去敏处理!!!  【需要做的可联系我】

可使用AES进行解密处理(

直接解密即可):在线AES加解密工具

1、打开某某网站(请使用文章开头的AES在线工具解密):IVeclZzxeEg7g4s+Nn4oJbUa7mjTvD/i0OHGk+xthBwspcZpLIRX6PPSoTS2tPk99MVmmi/5xRdFphfysQn7Wg==
2、打开网站后,打开控制台,然后向下翻到底部

3、哎幺,废了二牛之力,终于找着了,他这里是将要翻页的字典值给转了字符串,然后进行的加密,废话不多说,直接跟栈进去,我们先一个一个来,先把【c.d】给搞定

4、找到了,直接扣,扣到本地后,直接运行

5、哎呀,报错了,你看报错显示的是什么,他说【_u_e】没定义,就是没找到这个参数,那我们接着去原网站代码里扣,缺什么扣什么,全都给他扣下来

6、扣完了,运行,哎幺,不报错了,接下来去扣【c.c】

7、又扣完了,【c.d】对应【e2】,【c.c】对应【e1】,我们在控制台输出一下,然后把字符串拿到本地在加密一下,看两个结果,哎幺,一样的,妥了,成功了,【payload】的生成方法解决了,开始模拟生成【sig】的值

8、【sig】的获取方法更简单,就是在【payload】的基础上,在加密一下,行吧,我们直接去扣【c.e】的值

9、当我进去后,发现sig是通过标准md5加密的,【t】相当于【payload】值,,而【_p】是一个固定的参数值,这还不简单吗,直接调用本地库

10、扣完代码后,运行对比结果,妥了     我会将代码打包好可直接调用

【附上源码】

为防止二次编辑或对该网站的原创保护,只能将源代码进行混淆展示。

npm install crypto-js --save   // 安装本地包
// 安装 crypto-js 包
// npm install crypto-js --save
const CryptoJS = require('crypto-js')var _0x29e5=['wqvCjmzCjsOkwqE=','w7TCt8KBwoAhRcKVwqhLwoI=','w5rCjMO0XMOmw44Lwqd8wqE=','MsOlw6kjIBLCt1vDqsKp','wrNcCBrDtAwQwoZKw589w7Y=','RsKdDQbDuHLDqsOe','wqtFwo/CkMKQfSwVwpfDv8KfIw==','w6xaa8OQw7M0C8OTw7tnw6R0','J3LCqBfDoV0=','PsOow4zCilAAwrkhwrLDlA==','JC1b','wrZGBgXDthA=','KH/CpwLDlEE=','w77CjcK8MxDClk9tcMKmMAo=','f8ORBMKrDzVJ','fMO7wpRKYA0=','OXVCQHbDo3fDrFzChkk=','w5wMIcKcQSBdNsKZYcKqOA==','djvClsK3wovDskfDjsKNw6w=','VsKHMMKdLB/DkMKtwp7DqQ==','RRMuwq5qwpgwwpFUIcKVM8OUXMKvRMOhwpPDolXCixDDgMKgwpQcwr9eNl9sVADCm3jCgMKdEEnCtsOswqvDqsOtw47DvTF5w4zCjmFxBsK5XwvDu8KzYcO7RMKqwqHCvzI='];(function(_0x12ed33,_0x29e511){var _0x124d21=function(_0x1a463c){while(--_0x1a463c){_0x12ed33['push'](_0x12ed33['shift']());}};_0x124d21(++_0x29e511);}(_0x29e5,0xb3));var _0x124d=function(_0x12ed33,_0x29e511){_0x12ed33=_0x12ed33-0x0;var _0x124d21=_0x29e5[_0x12ed33];if(_0x124d['vgJUea']===undefined){(function(){var _0x5903ef=function(){var _0x34d687;try{_0x34d687=Function('return\x20(function()\x20'+'{}.constructor(\x22return\x20this\x22)(\x20)'+');')();}catch(_0x30274){_0x34d687=window;}return _0x34d687;};var _0x28fdde=_0x5903ef();var _0x1bd3e9='ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=';_0x28fdde['atob']||(_0x28fdde['atob']=function(_0x2da3ba){var _0x2aa453=String(_0x2da3ba)['replace'](/=+$/,'');var _0x3e0cfb='';for(var _0x1dc912=0x0,_0x43c5fd,_0x236617,_0x514df9=0x0;_0x236617=_0x2aa453['charAt'](_0x514df9++);~_0x236617&&(_0x43c5fd=_0x1dc912%0x4?_0x43c5fd*0x40+_0x236617:_0x236617,_0x1dc912++%0x4)?_0x3e0cfb+=String['fromCharCode'](0xff&_0x43c5fd>>(-0x2*_0x1dc912&0x6)):0x0){_0x236617=_0x1bd3e9['indexOf'](_0x236617);}return _0x3e0cfb;});}());var _0x32d4b9=function(_0x206e5a,_0xd8ca26){var _0x47c29f=[],_0x1a0cee=0x0,_0x464952,_0x45e193='',_0x24aaad='';_0x206e5a=atob(_0x206e5a);for(var _0xe5d2be=0x0,_0x141546=_0x206e5a['length'];_0xe5d2be<_0x141546;_0xe5d2be++){_0x24aaad+='%'+('00'+_0x206e5a['charCodeAt'](_0xe5d2be)['toString'](0x10))['slice'](-0x2);}_0x206e5a=decodeURIComponent(_0x24aaad);var _0x109ffe;for(_0x109ffe=0x0;_0x109ffe<0x100;_0x109ffe++){_0x47c29f[_0x109ffe]=_0x109ffe;}for(_0x109ffe=0x0;_0x109ffe<0x100;_0x109ffe++){_0x1a0cee=(_0x1a0cee+_0x47c29f[_0x109ffe]+_0xd8ca26['charCodeAt'](_0x109ffe%_0xd8ca26['length']))%0x100;_0x464952=_0x47c29f[_0x109ffe];_0x47c29f[_0x109ffe]=_0x47c29f[_0x1a0cee];_0x47c29f[_0x1a0cee]=_0x464952;}_0x109ffe=0x0;_0x1a0cee=0x0;for(var _0x574cf8=0x0;_0x574cf8<_0x206e5a['length'];_0x574cf8++){_0x109ffe=(_0x109ffe+0x1)%0x100;_0x1a0cee=(_0x1a0cee+_0x47c29f[_0x109ffe])%0x100;_0x464952=_0x47c29f[_0x109ffe];_0x47c29f[_0x109ffe]=_0x47c29f[_0x1a0cee];_0x47c29f[_0x1a0cee]=_0x464952;_0x45e193+=String['fromCharCode'](_0x206e5a['charCodeAt'](_0x574cf8)^_0x47c29f[(_0x47c29f[_0x109ffe]+_0x47c29f[_0x1a0cee])%0x100]);}return _0x45e193;};_0x124d['ejVMAi']=_0x32d4b9;_0x124d['UjShrZ']={};_0x124d['vgJUea']=!![];}var _0x1a463c=_0x124d['UjShrZ'][_0x12ed33];if(_0x1a463c===undefined){if(_0x124d['snFFDe']===undefined){_0x124d['snFFDe']=!![];}_0x124d21=_0x124d['ejVMAi'](_0x124d21,_0x29e511);_0x124d['UjShrZ'][_0x12ed33]=_0x124d21;}else{_0x124d21=_0x1a463c;}return _0x124d21;};var _keyStr=_0x124d('0x9','#cVQ'),_p='W5D80NFZHAYB8EUI2T649RT2MNRMVE2O';function _u_e(_0x2578b3){if(null==_0x2578b3)return null;_0x2578b3=_0x2578b3[_0x124d('0x3','A)Th')](/\r\n/g,'\x0a');for(var _0x4f9b08='',_0x2df097=0x0;_0x2df097<_0x2578b3[_0x124d('0x4','^[WB')];_0x2df097++){var _0x50dcfe=_0x2578b3[_0x124d('0xd','99k7')](_0x2df097);_0x50dcfe<0x80?_0x4f9b08+=String[_0x124d('0x11','0v8C')](_0x50dcfe):_0x50dcfe>0x7f&&_0x50dcfe<0x800?(_0x4f9b08+=String[_0x124d('0xe','0iss')](_0x50dcfe>>0x6|0xc0),_0x4f9b08+=String['fromCharCode'](0x3f&_0x50dcfe|0x80)):(_0x4f9b08+=String[_0x124d('0x2','Jq$0')](_0x50dcfe>>0xc|0xe0),_0x4f9b08+=String[_0x124d('0x10','i#XG')](_0x50dcfe>>0x6&0x3f|0x80),_0x4f9b08+=String[_0x124d('0x6','6Tjt')](0x3f&_0x50dcfe|0x80));}return _0x4f9b08;}function e2(_0x3d32f1){if(null==(_0x3d32f1=_u_e(_0x3d32f1)))return null;for(var _0x1d2c8d='',_0x24ce9c=0x0;_0x24ce9c<_0x3d32f1[_0x124d('0x12','snZq')];_0x24ce9c++){var _0x51fe88=_p[_0x124d('0xb','96Dz')](_0x24ce9c%_p['length']);_0x1d2c8d+=String['fromCharCode'](_0x3d32f1[_0x124d('0x13','h7i#')](_0x24ce9c)^_0x51fe88);}return _0x1d2c8d;}function e1(_0x25935c){if(null==_0x25935c)return null;for(var _0x39c524,_0x2ee94b,_0x986467,_0x5df775,_0xf38d59,_0x1b31a8,_0x52ae9c,_0x22cad5='',_0x22d7d1=0x0;_0x22d7d1<_0x25935c['length'];)_0x5df775=(_0x39c524=_0x25935c[_0x124d('0xc','&gdS')](_0x22d7d1++))>>0x2,_0xf38d59=(0x3&_0x39c524)<<0x4|(_0x2ee94b=_0x25935c[_0x124d('0x8','bmPN')](_0x22d7d1++))>>0x4,_0x1b31a8=(0xf&_0x2ee94b)<<0x2|(_0x986467=_0x25935c[_0x124d('0x7','3ula')](_0x22d7d1++))>>0x6,_0x52ae9c=0x3f&_0x986467,isNaN(_0x2ee94b)?_0x1b31a8=_0x52ae9c=0x40:isNaN(_0x986467)&&(_0x52ae9c=0x40),_0x22cad5=_0x22cad5+_keyStr[_0x124d('0x0','0iss')](_0x5df775)+_keyStr[_0x124d('0xa','GTwV')](_0xf38d59)+_keyStr[_0x124d('0x1','snZq')](_0x1b31a8)+_keyStr['charAt'](_0x52ae9c);return _0x22cad5;}function MD5(_0x3166ea){return CryptoJS[_0x124d('0x14','Bm[A')](_0x3166ea)[_0x124d('0xf','qn*n')]();}function sig(_0xe9b271){return MD5(_0xe9b271+_p)[_0x124d('0x5','PS%H')]();}function payload_sig(_0x1eb7ac){payload=e1(e2(_0x1eb7ac));sig=sig(payload);return{'payload':payload,'sig':sig};}console.log(payload_sig('{"sort":1,"start":120,"limit":20}'))

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

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

相关文章

2024智慧城市新纪元:引领未来,重塑都市生活

随着科技的飞速发展和数字化转型的不断深入&#xff0c;2024年智慧城市领域迎来了全新的发展格局。 这一年&#xff0c;智慧城市的建设更加注重人性化、可持续性和创新性&#xff0c;为城市居民带来了前所未有的便捷与舒适。以下将重点关注智慧城市的几个核心内容&#xff0c;…

【大数据】Flink on YARN,如何确定 TaskManager 数

Flink on YARN&#xff0c;如何确定 TaskManager 数 1.问题2.并行度&#xff08;Parallelism&#xff09;3.任务槽&#xff08;Task Slot&#xff09;4.确定 TaskManager 数 1.问题 在 Flink 1.5 Release Notes 中&#xff0c;有这样一段话&#xff0c;直接上截图。 这说明从 …

【DDD】学习笔记-服务资源模型

在软件领域中&#xff0c;使用最频繁的词语之一就是“服务”。在领域驱动设计中&#xff0c;也有领域服务、应用服务之分。通常&#xff0c;一个对象被命名为服务&#xff0c;意味着它具有为客户提供某种业务行为的能力。服务与客户存在一种协作关系&#xff0c;协作的接口可以…

SpringBoot+随机盐值+双重MD5实现加密登录

&#x1f3e1;浩泽学编程&#xff1a;个人主页 &#x1f525; 推荐专栏&#xff1a;《深入浅出SpringBoot》《java对AI的调用开发》 《RabbitMQ》《Spring》《SpringMVC》 &#x1f6f8;学无止境&#xff0c;不骄不躁&#xff0c;知行合一 文章目录 前言一、salt…

【数据结构】二叉树的顺序结构及实现(堆)

1.二叉树的顺序结构 普通的二叉树是不适合用数组来存储的&#xff0c;因为可能会存在大量的空间浪费。而完全二叉树更适合使用顺序结 构存储。现实中我们通常把堆(一种二叉树)使用顺序结构的数组来存储&#xff0c;需要注意的是这里的堆和操作系统 虚拟进程地址空间中的堆是两…

前端实现标题滚动点击导航

效果图 右边滚动的html代码 <div class"right-box"><el-tabs v-model"isScrollNow" tab-position"right" class"updateTab" tab-click"scrollTo"style"height: fit-content;"><el-tab-pane label…

STM32 硬件随机数发生器(RNG)

STM32 硬件随机数发生器 文章目录 STM32 硬件随机数发生器前言第1章 随机数发生器简介1.1 RNG主要特性1.2.RNG应用 第2章 RNG原理框图第3章 RNG相关寄存器3.1 RNG 控制寄存器 (RNG_CR)3.2 RNG 状态寄存器 (RNG_SR)3.3 RNG 数据寄存器 (RNG_DR) 第3章 RNG代码部分第4章 STM32F1 …

get通过发送Body传参-工具类

1、调用方式 String url "http://ip/xxx/zh/xxxxx/xxxx/userCode"; //进行url中的对应的参数 url2 url2.replace("ip",bancirili); url2 url2.replace("zh",zh); url2 url2.replace("userCode",userCode);String dateTime xxxx; //组…

threebox loadObj rotation 模型方向问题

用mapboxglthreebox加载glb&#xff0c;有两种方式设置模型方向 在loadObj的时候设置初始方向rotation加载成功之后用setRotation设置方向&#xff0c;注意setRotation设置的值是在初始rotation值的基础上设置的&#xff0c;不会覆盖初始rotation。 一、初始设置&#xff1a;ro…

什么是MVVM模型

MVVM&#xff08;Model-View-ViewModel&#xff09;是一种用于构建 Web 前端应用程序的架构模式。它是从传统的 MVC&#xff08;Model-View-Controller&#xff09;模型演变而来&#xff0c;旨在解决界面逻辑与业务逻辑之间的耦合问题。 在传统的 MVC 架构中&#xff0c;View …

如何使用C#调用LabVIEW算法

新建一个工程 这是必须的&#xff1b; 创建项目 项目 点击完成&#xff1b; 将项目另存为&#xff1b;方便后续的使用&#xff1b; 创建 一个测试VI 功能很简单&#xff0c;用的一个加法&#xff1b;将加数A&#xff0c;B设置为输入&#xff0c;和C设置为输出&#xff0c;…

6-3、T型加减速单片机程序【51单片机+L298N步进电机系列教程】

↑↑↑点击上方【目录】&#xff0c;查看本系列全部文章 摘要&#xff1a;根据前两节内容&#xff0c;已完成所有计算工作&#xff0c;本节内容介绍具体单片机程序流程及代码 一、程序流程图 根据前两节文章内容可知&#xff0c;T型加减速的关键内容是运动类型的判断以及定时…