Python爬虫系列之某信para加密算法

2023-11-07 00:30

本文主要是介绍Python爬虫系列之某信para加密算法,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Python爬虫系列之某信para加密算法

为维护网络绿色健康发展,代码仅供学习交流,请勿用于非法用途,加密部分已省略,如有疑问,请点击这里与我交流

文章目录

  • Python爬虫系列之某信para加密算法
    • 一、逆向分析
    • 二、部分代码
    • 三、结果截图

一、逆向分析

随便提交一个请求,发现请求带了一个para加密字段
在这里插入图片描述
搜索加密关键词,找到疑似参数点
在这里插入图片描述
这个比较简单,没做混淆和打包之类的,分析下来直接找到加密点
在这里插入图片描述
看到有两个加密点,名称可见一个是老版本oldutil,一个是新版,表达式可见,调用的前者,进入打上断点
在这里插入图片描述
发现核心加密点,剩下的就是简单的抠代码,然后封装,这里直接封装的python的,仅供学习交流,核心算法就不展示了,下面是代码点

二、部分代码

import json
import requests
import execjsjscode = '''
function ensFuc(ens){var dxJS = require("./dx.js");return dxJS.ensFuc(ens)
}
'''jtx = execjs.compile(jscode)def ensFuc(ens):return jtx.call("ensFuc", ens)url = "http://wapjs.189.cn/zt-login/login/getRandomNumberCode"
headers = {"Accept": "text/plain, */*; q=0.01","Accept-Encoding": "gzip, deflate","Accept-Language": "zh-CN,zh;q=0.9,en;q=0.8","Cache-Control": "no-cache","Connection": "keep-alive","Content-Length": "2565","Content-Type": "application/x-www-form-urlencoded; charset=UTF-8","Cookie": "","Host": "wapjs.189.cn","Origin": "http://wapjs.189.cn","Pragma": "no-cache","Referer": "http://wapjs.189.cn/tysh/pages/passwordServices/index.html?ztInterSource=100003&platform=wap&callback=608930","User-Agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 13_2_3 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/13.0.3 Mobile/15E148 Safari/604.1","X-Requested-With": "XMLHttpRequest"
}
ens = "accNbr=**********;PathCode=login-00008;;PathCode=login-00008;actionCode=jsztActionCode_logingetRandomNumberCode;channelCode_common=100003;pubAreaCode=025;pushUserId=jszt_230206;coachUser=;userLogAccNbrType=;userLogAccNbr=;userTokenAccNbrType=2;ztVersion=4.0;ztInterSource=100003;pubToken=undefined;";
para = ensFuc(ens)
data = {"para": para}
print("---------- wapjs.189.cn para加密 ----------")
print("明文:" + ens)
print("密文:" + para)
res = requests.post(url, headers=headers, data=data)
print("响应状态:" + str(res.status_code))
print("响应内容:" + str(res.json()))

代码部分仅供参考,为维护网络绿色环境,就不提供具体算法源码了。

三、结果截图

在这里插入图片描述

python封装执行运行正常

这篇关于Python爬虫系列之某信para加密算法的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/360034

相关文章

一文详解如何在Python中从字符串中提取部分内容

《一文详解如何在Python中从字符串中提取部分内容》:本文主要介绍如何在Python中从字符串中提取部分内容的相关资料,包括使用正则表达式、Pyparsing库、AST(抽象语法树)、字符串操作... 目录前言解决方案方法一:使用正则表达式方法二:使用 Pyparsing方法三:使用 AST方法四:使用字

Python列表去重的4种核心方法与实战指南详解

《Python列表去重的4种核心方法与实战指南详解》在Python开发中,处理列表数据时经常需要去除重复元素,本文将详细介绍4种最实用的列表去重方法,有需要的小伙伴可以根据自己的需要进行选择... 目录方法1:集合(set)去重法(最快速)方法2:顺序遍历法(保持顺序)方法3:副本删除法(原地修改)方法4:

Python运行中频繁出现Restart提示的解决办法

《Python运行中频繁出现Restart提示的解决办法》在编程的世界里,遇到各种奇怪的问题是家常便饭,但是,当你的Python程序在运行过程中频繁出现“Restart”提示时,这可能不仅仅是令人头疼... 目录问题描述代码示例无限循环递归调用内存泄漏解决方案1. 检查代码逻辑无限循环递归调用内存泄漏2.

Python中判断对象是否为空的方法

《Python中判断对象是否为空的方法》在Python开发中,判断对象是否为“空”是高频操作,但看似简单的需求却暗藏玄机,从None到空容器,从零值到自定义对象的“假值”状态,不同场景下的“空”需要精... 目录一、python中的“空”值体系二、精准判定方法对比三、常见误区解析四、进阶处理技巧五、性能优化

使用Python构建一个Hexo博客发布工具

《使用Python构建一个Hexo博客发布工具》虽然Hexo的命令行工具非常强大,但对于日常的博客撰写和发布过程,我总觉得缺少一个直观的图形界面来简化操作,下面我们就来看看如何使用Python构建一个... 目录引言Hexo博客系统简介设计需求技术选择代码实现主框架界面设计核心功能实现1. 发布文章2. 加

python logging模块详解及其日志定时清理方式

《pythonlogging模块详解及其日志定时清理方式》:本文主要介绍pythonlogging模块详解及其日志定时清理方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地... 目录python logging模块及日志定时清理1.创建logger对象2.logging.basicCo

Python如何自动生成环境依赖包requirements

《Python如何自动生成环境依赖包requirements》:本文主要介绍Python如何自动生成环境依赖包requirements问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑... 目录生成当前 python 环境 安装的所有依赖包1、命令2、常见问题只生成当前 项目 的所有依赖包1、

如何将Python彻底卸载的三种方法

《如何将Python彻底卸载的三种方法》通常我们在一些软件的使用上有碰壁,第一反应就是卸载重装,所以有小伙伴就问我Python怎么卸载才能彻底卸载干净,今天这篇文章,小编就来教大家如何彻底卸载Pyth... 目录软件卸载①方法:②方法:③方法:清理相关文件夹软件卸载①方法:首先,在安装python时,下

python uv包管理小结

《pythonuv包管理小结》uv是一个高性能的Python包管理工具,它不仅能够高效地处理包管理和依赖解析,还提供了对Python版本管理的支持,本文主要介绍了pythonuv包管理小结,具有一... 目录安装 uv使用 uv 管理 python 版本安装指定版本的 Python查看已安装的 Python

使用Python开发一个带EPUB转换功能的Markdown编辑器

《使用Python开发一个带EPUB转换功能的Markdown编辑器》Markdown因其简单易用和强大的格式支持,成为了写作者、开发者及内容创作者的首选格式,本文将通过Python开发一个Markd... 目录应用概览代码结构与核心组件1. 初始化与布局 (__init__)2. 工具栏 (setup_t