当前位置: 首页 > article >正文

FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密

1.目标

目标网址:https://www.fastmoss.com/zh/e-commerce/saleslist

在这里插入图片描述
在这里插入图片描述
切换周榜出现目标请求
在这里插入图片描述
只有请求头fm-sign签名加密

2.逆向分析

直接搜fm-sign
在这里插入图片描述

在这里插入图片描述
可以看到 i["fm-sign"] = A
在这里插入图片描述
进入encryptParams方法
在这里插入图片描述
里面有个S()方法加密,是MD5加密

3.代码示例

js代码示例

const crypto = require('crypto')function MD5Encrypt(e) {return crypto.createHash("md5").update(e.toString()).digest("hex")
}function encryptParams(e) {this.salt = "LAA6edGHBkcc3eTiOIRfg89bu9ODA6PB"let t = arguments.length > 1 && void 0 !== arguments[1] ? arguments[1] : "", o = Object.keys(e).sort(), n = "";o.forEach(t => {n += t + e[t] + this.salt});let r = MD5Encrypt(n + t), a = "", i = 0, s = r.length - 1;for (; i < r.length && !(i >= s); i++,s--)a += (parseInt(r[i], 16) ^ parseInt(r[s], 16)).toString(16);return a + r.substring(i)
}let S =   {_time: Math.floor(Date.now() / 1e3),cnonce: Math.floor(1e7 + 9e7 * Math.random())
}, r = {"time": 1748321467,"system": "windows","platform": 1,"id": 206,"type": 1,"ext": {"uri": "https://www.fastmoss.com/zh/e-commerce/newProducts","_src": null}
} ,d = JSON.stringify(r),A = encryptParams({...S}, d);
console.log(A)

python代码示例

import hashlib
import json
import random
import time# MD5 加密
def md5_encrypt(data):return hashlib.md5(str(data).encode('utf-8')).hexdigest()# 加密函数 encryptParams
def encrypt_params(e, t=""):salt = "LAA6edGHBkcc3eTiOIRfg89bu9ODA6PB"# 排序后的 key 列表keys = sorted(e.keys())n = ""for key in keys:n += f"{key}{e[key]}{salt}"r = md5_encrypt(n + t)a = ""i = 0s = len(r) - 1while i < len(r) and i < s:# 将十六进制字符转为整数,异或后再转回十六进制char_i = r[i]char_s = r[s]xor_result = int(char_i, 16) ^ int(char_s, 16)a += format(xor_result, 'x')  # 转为十六进制字符i += 1s -= 1a += r[i:]return aS = {'_time': int(time.time()),'cnonce': random.randint(1e7, 1e8)
}r = {"time": 1748321467,"system": "windows","platform": 1,"id": 206,"type": 1,"ext": {"uri": "https://www.fastmoss.com/zh/e-commerce/newProducts","_src": None}
}d = json.dumps(r, separators=(',', ':'))A = encrypt_params(S, d)
print(A)

请求不要sign也是可以的

相关文章:

FastMoss 国际电商Tiktok数据分析 JS 逆向 | MD5加密

1.目标 目标网址&#xff1a;https://www.fastmoss.com/zh/e-commerce/saleslist 切换周榜出现目标请求 只有请求头fm-sign签名加密 2.逆向分析 直接搜fm-sign 可以看到 i["fm-sign"] A 进入encryptParams方法 里面有个S()方法加密&#xff0c;是MD5加密 3.代…...

Redis分布式缓存核心架构全解析:持久化、高可用与分片实战

一、持久化机制&#xff1a;数据安全双引擎 1.1 RDB与AOF的架构设计 Redis通过RDB&#xff08;快照持久化&#xff09;和AOF&#xff08;日志持久化&#xff09;两大机制实现数据持久化。 • RDB架构&#xff1a;采用COW&#xff08;写时复制&#xff09;技术&#xff0c;主进程…...

【Linux】基础开发工具(下)

文章目录 一、自动化构建工具1. 什么是 make 和 Makefile&#xff1f;2. 如何自动化构建可执行程序&#xff1f;3. Makefile 的核心思想4. 如何清理可执行文件&#xff1f;5. make 的工作原理5.1 make 的执行顺序5.2 为什么 make 要检查文件是否更新&#xff1f;5.2.1 避免重复…...

Python爬虫实战:研究Portia框架相关技术

1. 引言 1.1 研究背景与意义 在大数据时代,网络数据已成为企业决策、学术研究和社会分析的重要资源。据 Statista 统计,2025 年全球数据总量将达到 175ZB,其中 80% 以上来自非结构化网络内容。如何高效获取并结构化这些数据,成为数据科学领域的关键挑战。 传统爬虫开发需…...

chrome打不开axure设计的软件产品原型问题解决办法

1、打开原型文件夹&#xff0c;进入到其中的如下目录中&#xff1a;resources->chrome->axure-chrome-extension.crx&#xff0c;找到 Axure RP Extension for Chrome插件。 2、axure-chrome-extension.crx文件修改扩展名.rar&#xff0c;并解压到文件夹 axure-chrome-ex…...

达梦数据库-学习-23-获取执行计划的N种方法

目录 一、环境信息 二、说点什么 三、测试数据生成 四、测试语句 五、获取执行计划方法 1、EXPLAIN &#xff08;1&#xff09;样例 &#xff08;2&#xff09;优势 &#xff08;3&#xff09;劣势 2、ET &#xff08;1&#xff09;开启参数 &#xff08;2&#xff…...

【数据结构】树形结构--二叉树

【数据结构】树形结构--二叉树 一.知识补充1.什么是树2.树的常见概念 二.二叉树&#xff08;Binary Tree&#xff09;1.二叉树的定义2.二叉树的分类3.二叉树的性质 三.二叉树的实现1.二叉树的存储2.二叉树的遍历①.先序遍历②.中序遍历③.后序遍历④.层序遍历 一.知识补充 1.什…...

Baklib构建企业CMS高效协作与安全管控体系

企业CMS高效协作体系构建 基于智能工作流引擎的设计逻辑&#xff0c;现代企业内容管理系统通过预设多节点审核路径与自动化任务分配机制&#xff0c;有效串联市场、技术、法务等跨部门协作链路。系统支持多人同时编辑与版本追溯功能&#xff0c;结合细粒度权限管控模块&#x…...

深入理解 JDK、JRE 和 JVM 的区别

在 Java 中&#xff0c;JDK、JRE 和 JVM 是非常重要的概念&#xff0c;它们各自扮演着不同的角色&#xff0c;却又紧密相连。今天&#xff0c;就让我们来详细探讨一下它们之间的区别。 一、JVM JVM 即 Java 虚拟机&#xff0c;它是整个 Java 技术体系的核心。JVM 提供了 Java…...

LSTM 与 TimesNet的时序分析对比解析

前言 Hi&#xff0c;我是GISerLiu&#x1f642;, 这篇文章是参加2025年5月Datawhale学习赛的打卡文章&#xff01;&#x1f4a1; 本文将深入探讨在自定义时序数据集上进行下游分类任务的两种主流分析方法。一种是传统的“先插补后分析”策略&#xff0c;另一种是采用先进的端到…...

图论学习笔记 4 - 仙人掌图

先扔张图&#xff1a; 为了提前了解我们采用的方法&#xff0c;请先阅读《图论学习笔记 3》。 仙人掌图的定义&#xff1a;一个连通图&#xff0c;且每条边只出现在至多一个环中。 这个图就是仙人掌图。 这个图也是仙人掌图。 而这个图就不是仙人掌图了。 很容易发现&#xf…...

语音识别算法的性能要求一般是多少

语音识别算法的性能要求因应用场景和实际需求而异&#xff0c;但以下几个核心指标是通用的参考标准。以下是具体说明&#xff1a; 1. 准确率&#xff08;Accuracy&#xff09; 语音识别的核心性能指标通常是词错误率&#xff08;WER, Word Error Rate&#xff09;和字符错误率…...

百度ocr的简单封装

百度ocr地址 以下代码为对百度ocr的简单封装,实际使用时推荐使用baidu-aip 百度通用ocr import base64 from enum import Enum, unique import requests import logging as logunique class OcrType(Enum):# 标准版STANDARD_BASIC "https://aip.baidubce.com/rest/2.0…...

华为高斯数据库(GaussDB)深度解析:国产分布式数据库的旗舰之作

高斯数据库介绍 一、高斯数据库概述 GaussDB是华为自主研发的新一代分布式关系型数据库&#xff0c;专为企业核心系统设计。它支持HTAP&#xff08;混合事务与分析处理&#xff09;&#xff0c;兼具强大的事务处理与数据分析能力&#xff0c;是国产数据库替代的重要选择。 产…...

LWIP 中,lwip_shutdown 和 lwip_close 区别

实际开发中&#xff0c;建议对 TCP 连接按以下顺序操作以确保可靠性&#xff1a; lwip_shutdown(newfd, SHUT_RDWR); // 关闭双向通信 lwip_close(newfd); // 释放资源...

xml双引号可以不转义

最近在开发soap方面的协议&#xff0c;soap这玩意&#xff0c;就避免不了XML&#xff0c;这里我用到了pguixml库。 输入了这个XML后&#xff0c;发现<和>都被转义&#xff0c;但是""没有被转义&#xff0c;很是奇怪啊。毕竟去网上随便一搜转义字符&#xff0c…...

互联网大厂Java面试:从Spring到微服务的挑战

文章简介 在这篇文章中&#xff0c;我们将模拟一场互联网大厂的Java面试&#xff0c;场景设置为企业协同与SaaS。面试官提出了一系列技术问题&#xff0c;涵盖了Java核心语言、Spring框架、微服务架构等技术点&#xff0c;并结合实际业务场景进行循序渐进的提问。最后&#xf…...

兰亭妙微 | 图标设计公司 | UI设计案例复盘

在「33」「312」新高考模式下&#xff0c;选科决策成为高中生和家长的「头等大事」。兰亭妙微公司受委托优化高考选科决策平台个人诊断报告界面&#xff0c;核心挑战是&#xff1a;如何将复杂的测评数据&#xff08;如学习能力倾向、学科报考机会、职业兴趣等&#xff09;转化为…...

OpenCV视觉图片调整:从基础到实战的技术指南

引言:数字图像处理的现代意义与OpenCV深度应用 在人工智能与计算机视觉蓬勃发展的今天,图像处理技术已成为多个高科技领域的核心支撑。根据市场研究机构Grand View Research的数据,全球计算机视觉市场规模预计将从2022年的125亿美元增长到2030年的253亿美元,年复合增长率达…...

C#日期和时间:DateTime转字符串全面指南

C#日期和时间&#xff1a;DateTime转字符串全面指南 在 C# 开发中&#xff0c;DateTime类型的时间格式化是高频操作场景。无论是日志记录、数据持久化&#xff0c;还是接口数据交互&#xff0c;合理的时间字符串格式都能显著提升系统的可读性和兼容性。本文将通过 20 实战示例…...

手机收不到WiFi,手动输入WiFi名称进行连接不不行,可能是WiFi频道设置不对

以下是电脑上分享WiFi后&#xff0c;部分手机可以看到并且能连接&#xff0c;部分手机不行&#xff0c;原因是&#xff1a;频道设置为5GHz&#xff0c;修改成&#xff0c;任何可用频率&#xff0c;则可...

批量文件重命名工具

分享一个自己使用 python 开发的小软件&#xff0c;批量文件重命名工具&#xff0c;主要功能有批量中文转拼音&#xff0c;简繁体转换&#xff0c;大小写转换&#xff0c;替换文件名&#xff0c;删除指定字符&#xff0c;批量添加编号&#xff0c;添加前缀/后缀。同时还有文件时…...

ATPrompt方法:属性嵌入的文本提示学习

ATPrompt方法:属性嵌入的文本提示学习 让视觉-语言模型更好地对齐图像和文本(包括未知类别)。 一、问题场景:传统方法的局限 假设你有一个模型,能识别图像中的物体并关联到文本标签(如“狗”“猫”)。 传统方法: 用“软提示”(可学习的文本标签)和“硬类别标记”…...

14.「实用」扣子(coze)教程 | Excel文档自动批量AI文档生成实战,中级开篇

随着AI编程工具及其能力的不断发展&#xff0c;编程将变得越来越简单。 在这个大趋势下&#xff0c;大师兄判断未来的编程将真正成为像office工具一样的办公必备技能。每个人通过 &#xff08;专业知识/资源编程&#xff09;将自己变成一个复合型的人才&#xff0c;大大提高生…...

对于geoserver发布数据后的开发应用

对于geoserver发布数据后的开发应用 文章目录 对于geoserver发布数据后的开发应用[TOC](文章目录) 前言一、geosever管理地理数据的后端实用方法后端进行登录geoserver并且发布一个矢量数据前置的domain数据准备后端内容 总结 前言 首先&#xff0c;本篇文章仅进行技术分享&am…...

液体散货装卸管理人员备考指南

备考液体散货类装卸管理人员资格考试&#xff0c;需要系统学习理论知识、熟悉实操流程&#xff0c;并掌握相关法规标准。以下是备考建议&#xff0c;分为四个阶段&#xff1a; 一、明确考试内容与要求 考试范围 理论知识&#xff1a;液体散货&#xff08;石油、化学品、液化…...

基于Qlearning强化学习的二阶弹簧动力学模型PID控制matlab性能仿真

目录 1.算法仿真效果 2.算法涉及理论知识概要 2.1 传统PID控制器 2.2 Q-Learning强化学习原理 2.3 Q-Learning与PID控制器的融合架构 3.MATLAB核心程序 4.完整算法代码文件获得 1.算法仿真效果 matlab2024B仿真结果如下&#xff08;完整代码运行后无水印&#xff09;&a…...

【监控】Spring Boot 应用监控

这段配置是 Spring Boot 应用中对 Actuator 和 Micrometer 监控系统的配置&#xff0c;用于将应用的指标暴露给 Prometheus 进行收集。下面我将详细介绍这种配置方式及其提供的指标。 配置说明 这个配置主要涉及 Spring Boot Actuator 和 Micrometer 两个核心组件&#xff1a…...

「MATLAB」计算校验和 Checksum

什么是校验和 是一个算法&#xff0c;将一串数据累加&#xff0c;得到一个和。 MATLAB程序 function c_use Checksum(packet) %Checksum 求校验和 % 此处checksum提供详细说明checksum 0;for i 1:length(packet)value hex2dec(packet(i));checksum checksum value; …...

【AS32X601驱动系列教程】SMU_系统时钟详解

在现代嵌入式系统中&#xff0c;时钟与复位管理是确保系统稳定运行的关键。我们的SMU&#xff08;系统管理单元&#xff09;模块专注于此核心任务&#xff0c;通过精准的时钟配置和复位控制&#xff0c;为整个系统提供可靠的时序保障。 SMU模块的主要功能是完成时钟和复位的管…...