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

news2024/9/20 14:42:57

逆向日期: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.coloradmin.cn/o/1437633.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

[HCIE]防火墙基础配置

实验目的&#xff1a;1.允许主机 ping FW的物理接口&#xff1b; 2.允许FW访问trust区域的主机&#xff1b; 3.允许trust主机访问其他所有区域。 配置步骤&#xff1a; 1.配置所有接口地址&#xff08;略&#xff09; 2.将防火墙接口加入到各自的区域 firewall zone trust …

企业数字化转型面临什么挑战?

随着科技的飞速发展&#xff0c;企业数字化转型已成为当今商业世界的一大趋势。然而&#xff0c;在这场变革中&#xff0c;企业可能会面临诸多挑战。本文将结合实际案例&#xff0c;探讨企业在数字化转型过程中可能遇到的一些问题&#xff0c;并提供相应的解决建议。 1.技术挑…

C# CAD交互界面-自定义窗体(三)

运行环境 vs2022 c# cad2016 调试成功 一、引用 二、开发代码进行详细的说明 初始化与获取AutoCAD核心对象&#xff1a; Database db HostApplicationServices.WorkingDatabase;&#xff1a;这行代码获取当前工作中的AutoCAD数据库对象。在AutoCAD中&#xff0c;所有图形数…

研发误删的库,凭什么要 DBA 承担责任

镇楼图 三个角色 删库以及更宽泛的数据库变更场景中有三个角色&#xff0c;业务研发&#xff0c;DBA 以及使用的数据库变更工具&#xff1a; 业务研发通常指的是后端研发。国内最主流的技术栈还是 Java&#xff0c;此外 Go 也有一部分&#xff0c;另有全栈的则使用 Node。这些…

如何开始深度学习,从实践开始

将“如何开始深度学习”这个问题喂给ChatGPT和文心一言&#xff0c;会给出很有专业水准的答案&#xff0c;比如&#xff1a; 要开始深度学习&#xff0c;你可以遵循以下步骤&#xff1a; 学习Python编程语言的基础知识&#xff0c;因为它在深度学习框架中经常被使用。 熟悉线性…

如何在GitHub上创建自己的个人网站【github.io】

如何在GitHub上创建自己的个人网站【github.io】 1.创建一个自己的GitHub账号2.点击New按钮3.填写个人仓库相关的信息并创建4.安装git&#xff0c;下载你需要的版本。5.上传新的文件6.访问网站7.后话 1.创建一个自己的GitHub账号 GitHub网站 最后会出现像下面一样的界面 2.点…

spring boot学习第十一篇:发邮件

1、pom.xml文件内容如下&#xff08;是我所有学习内容需要的&#xff0c;不再单独分出来&#xff0c;包不会冲突&#xff09;&#xff1a; <?xml version"1.0" encoding"UTF-8"?> <project xmlns"http://maven.apache.org/POM/4.0.0"…

基于Java农产品商城系统设计与实现(源码+部署文档)

博主介绍&#xff1a; ✌至今服务客户已经1000、专注于Java技术领域、项目定制、技术答疑、开发工具、毕业项目实战 ✌ &#x1f345; 文末获取源码联系 &#x1f345; &#x1f447;&#x1f3fb; 精彩专栏 推荐订阅 &#x1f447;&#x1f3fb; 不然下次找不到 Java项目精品实…

OpenCV-31 获得形态学卷积核

OpenCV提供了获取卷积核的API&#xff0c;不需要我们手动创建卷积核。 通过下面API---getStructuringElement(shape&#xff0c;ksize&#xff0c;[, anchor]) shape是指卷积核的型状&#xff0c;注意不是指长宽&#xff0c;是指卷积核中1形成的形状。MORPH_RECT 卷积核中的1…

内网远程控制——anydesk

而通常这个时候我们有权限修改anydesk的配置文件&#xff0c;这里进行测试&#xff0c;起两个虚拟机&#xff0c;设定一个场景&#xff08;攻击机拿到了webshell&#xff0c;受害机开着windows defender&#xff0c;如何去渗透拿到受害机权限&#xff09; 情景复现 这里拿到了…

C#(C Sharp)学习笔记_If条件判断语句【五】

前言&#xff1a; 本期学习的是编程语言中的主要语句&#xff1a;if-条件判断语句。在这里我们会学到&#xff1a;if语法&#xff0c;if-else&#xff0c;和if嵌套。话不多说&#xff0c;我们开始吧&#xff01; 什么是条件判断语句&#xff1f; 条件语句是用来判断给定的条件…

WireShark使用教程(TCP/IP 部分情况居然变成三次挥手了???)

WireShark自学 WrieShark介绍WrieShark的应用常见协议包的抓取 WrieShark常用手段混杂模式 和 普通模式混杂模式打开方式普通模式 过滤器过滤器类型捕获过滤器显示过滤器语法捕获到的数据的列的含义常见的 Protocols - Values 键盘快捷键常用的过滤命令常用协议分析ARP 协议分析…

Unity类银河恶魔城学习记录3-4 EnemyBattleState P50

Alex教程每一P的教程原代码加上我自己的理解初步理解写的注释&#xff0c;可供学习Alex教程的人参考 此代码仅为较上一P有所改变的代码 【Unity教程】从0编程制作类银河恶魔城游戏_哔哩哔哩_bilibili Enemy.cs using System.Collections; using System.Collections.Generic; …

数据结构第十一天(栈)

目录 前言 概述 源码&#xff1a; 主函数&#xff1a; 运行结果&#xff1a; ​编辑 前言 今天简单的实现了栈&#xff0c;主要还是指针操作&#xff0c;soeasy! 友友们如果想存储其他内容&#xff0c;只需修改结构体中的内容即可。 哈哈&#xff0c;要是感觉不错&…

3D室内虚拟灭火体验为预防火灾提供全新方案

室内火灾常见于充电器未拔、电动车、油锅起火及煤气泄露等原因&#xff0c;由于室内空间小、易燃物多&#xff0c;因此极易造成较大的人员财产损失&#xff0c;3D仿真还原技术、通过1&#xff1a;1模拟还原火灾发生全过程&#xff0c;火灾VR安全培训提供全方位、真实感强的模拟…

【01】判断素数/质数(C语言)

目录 &#xff08;1&#xff09;素数特点&#xff1a;只能被1和本身整除 &#xff08;2&#xff09;代码如下&#xff1a; &#xff08;3&#xff09;运行结果如下 ​编辑 &#xff08;4&#xff09;函数引申 &#xff08;1&#xff09;素数特点&#xff1a;只能被1和本身…

基于AST实现一键自动提取替换国际化文案

背景&#xff1a;在调研 formatjs/cli 使用&#xff08;使用 formatjs/cli 进行国际化文案自动提取 &#xff09;过程中&#xff0c;发现有以下需求formatjs/cli 无法满足&#xff1a; id 需要一定的语义化&#xff1b; defaultMessage和Id不能直接hash转换&#xff1b; 需要…

2.6学习总结

2.6 1.蓝桥公园 2.路径 3.打印路径 4.【模板】Floyd Floyd算法&#xff1a; 是一种多源的最短路径算法&#xff0c;经过一次计算可以得到任意两个点之间的最短路径。 这种算法是基于动态规划的思想&#xff1a; m[i][j]表示从i到j这条边的距离&#xff0c;dp[k][i][j]表示从…

【代码随想录24】93.复原 IP 地址 78.子集 90.子集II

目录 93.复原IP地址题目描述参考代码 78.子集题目描述参考代码 90.子集II题目描述参考代码 93.复原IP地址 题目描述 有效 IP 地址 正好由四个整数&#xff08;每个整数位于 0 到 255 之间组成&#xff0c;且不能含有前导 0&#xff09;&#xff0c;整数之间用 . 分隔。 例如…

【iOS】——使用ZXingObjC库实现条形码识别并请求信息

文章目录 前言一、实现步骤二、扫描界面和扫描框的样式1.扫描界面2.扫描框 三、实现步骤 前言 ZXing库是一个专门用来解析多种二维码和条形码&#xff08;包括包括 QR Code、Aztec Code、UPC、EAN、Code 39、Code 128等&#xff09;的开源性质的处理库&#xff0c;而ZingObjC库…